在存储过程利用游标循环执行update语句

    xiaoxiao2021-03-25  99

    初到公司的第一个工作任务:(用Oracle的job定时对一个值进行累加计算);

    虽然比较简单,但是由于已经两年多没有用过存储过程和游标这些了,所以重新温习了下;

    记下笔记

    ========创建存储过程,定义游标循环执行update语句

    create or replace procedure JOBTCOUNT as begin declare     cursor emp_cur is      select T_COUNT from JOB_T_BUSINESS_COUNT  for update ;   begin         for emp_row in emp_cur           loop            update JOB_T_BUSINESS_COUNT set T_COUNT=T_COUNT+0.5 where current of emp_cur;          end loop;        commit; end; end; ==========创建job任务每秒执行一次 SQL> variable jobbusinesscount number; SQL> begin   2   dbms_job.submit(:jobbusinesscount,'JOBTCOUNT;',sysdate,'sysdate+1/86400');   3  end;   4  / ========启动job任务 SQL> begin   2  dbms_job.run(:jobbusinesscount);   3  end;

      4  /

    ========删除job任务 SQL> begin   2  dbms_job.remove(:jobbusinesscount);   3  end;

      4  /

    ===查询job select  *  from dba_jobs

    =======启动job(登陆用户为创建该job的属主)

     exec DBMS_JOB.broken(22,false);  

    ==停止

     exec DBMS_JOB.broken(22,true);

    转载请注明原文地址: https://ju.6miu.com/read-16139.html

    最新回复(0)