概述
前几天写了一个procedure,然后job调用它,通过dblink从第三方数据库获取数据.写完手动运行了一次,一切正常数据也取到了,但是第二天上班,我却发现了奇怪现象(注job晚上1点执行),我的数据不见了。为此我还调查了,谁动了我的数据,结果是nobody.那结论只有一个问题出现在那个procedure身上了.
procedure主要有两个功能1.从第三方数据库表中取数据;2.对于取来的数据执行完插入之后,要将其重复的数据全部删除(注意是全部删除而不是删掉一条留一条),正是这个两个功能造成我的数据没有了。现将的sql语句贴出来,分析一下
create or replace procedure test_proc is
p_lasttime_stamp date;
--游标export_time_cur获取最后导数据的时间
cursor export_time_cur is .....;
--从上次读取数据的时间点开始再读取数据
cursor export_data_cur is .....
where time_stamp> p_lasttime_stamp;
--删除重复记录的游标
cursor repeat_rec_cur
is ......;
begin
--获取上次导入的时间
open export_time_cur;
if export_time_cur%rowcont=0 then
--则向记录拉取数据的时间戳表中插入一条记录来记录拉取时间戳
insert into ...
commit;
p_lasttime_stamp:=to_date('2
最后
以上就是谦让白猫为你收集整理的oracle cursor rowcount,关于cursor的rowcount的全部内容,希望文章能够帮你解决oracle cursor rowcount,关于cursor的rowcount所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复