当前位置: 代码迷 >> Oracle面试 >> oracle存储过程,该怎么解决
  详细解决方案

oracle存储过程,该怎么解决

热度:2193   发布时间:2013-02-26 00:00:00.0
oracle存储过程
创建一个存储过程,要求判断数据库中的XM_XXK表中是否存在记录,如果存在记录立即清空表中的记录,然后从另外一个数据库把数据迁移到该表上。

------解决方案--------------------------------------------------------
写个大概:
SQL code
create or replace procedure copy_datais  vn_cnt number(4) := 0;begin select count(*) into vn_cnt from XM_XXK; if vn_cnt <> 0 then   delete from XM_XXK; end if;   insert into XM_XXK as select * from XM_XXX@db_link; --db_link是另外一个数据库的DBLINK;   commit;end;
------解决方案--------------------------------------------------------
改一下一楼的.

create or replace procedure copy_data
is
vn_cnt number(4) := 0;
begin
 select count(*) into vn_cnt from XM_XXK;
 if vn_cnt <> 0 then
truncate table XM_XXK; --此次避免多次执行后生成高水位线,降低查询速度.
 end if;
insert into XM_XXK as select * from XM_XXX@db_link; --db_link是另外一个数据库的DBLINK;
commit;
end;
  相关解决方案