oracle游标标准写法

CREATE OR REPLACE PROCEDURE PRO_Test(
                                             V_REMARK     OUT VARCHAR
                                     )

AS
CURSOR CURSOR_JOB IS
    SELECT INSPECT_JOB_NO
      FROM T_JC_INSPECT_HEAD;
  --定义一个游标变量(获取业务范围数据)
  JOB CURSOR_JOB%ROWTYPE;

BEGIN
  OPEN CURSOR_JOB;
  FETCH CURSOR_JOB INTO JOB;
  WHILE (CURSOR_JOB%FOUND) LOOP
    --UPDATE T_JC_INSPECT_HEAD SET JOB_NO='111' WHERE 1=2;
    --具体的操作
    COMMIT;
    FETCH CURSOR_JOB INTO JOB;
  END LOOP;
  CLOSE CURSOR_JOB;
EXCEPTION
  WHEN OTHERS THEN
    IF CURSOR_JOB%ISOPEN=TRUE THEN
      CLOSE CURSOR_JOB;
    END IF;
END PRO_Test;

 

posted @ 2016-12-21 16:25  xuzhong86  阅读(1104)  评论(0编辑  收藏  举报