当前位置: 代码迷 >> Oracle开发 >> 大神们帮忙,写一个procedure,该如何解决
  详细解决方案

大神们帮忙,写一个procedure,该如何解决

热度:66   发布时间:2016-04-24 06:33:15.0
大神们帮忙,写一个procedure
想每天执行这个procedure,
先清空一个view_log   table
再Insert into  view_log select   *  from table A where flag='N'
然后 update table A set flag='Y'  
高手们帮忙啊
------解决思路----------------------
引用:
Quote: 引用:

想每天执行这个procedure,
先清空一个view_log   table
再Insert into  view_log select   *  from table A where flag='N'
然后 update table A set flag='Y'  
高手们帮忙啊



create or replace procedure test is
begin
  delete from view_log;
  insert into view_log
    select * from A WHERE FLAG = 'N';
  UPDATE TABLE A SET FLAG = 'Y';
  COMMIT;
EXCEPTION
  WHEN OTHERS THEN
    DBMS_OUTPUT.put_line('Error Happened!!');
  
end test;

--通过job调用存储过程定时执行
declare
  job1 number;
begin
  sys.dbms_job.submit(job       => :job1,
                      what      => 'test;',
                      next_date => sysdate,
                      interval  => 'trunc(sysdate)+1'); --每天凌晨执行
  commit;
end;
/

UPDATE TABLE A SET FLAG = 'Y';
忙中出错吧,把table去掉
UPDATE A SET FLAG = 'Y';
------解决思路----------------------
3 楼的哥们好敬业啊 嘿嘿 楼主难道是玩幽默! 3楼哥们还当真
  相关解决方案