存储过程中的游标使用

来源:互联网 发布:巨人网络市值 编辑:程序博客网 时间:2024/06/05 13:28

存储过程

1:游标使用

 

第一步:游标声明:

:标点符号使用半角

CURSOR C_EMP IS /*声明显式游标*/ 

SELECT * FROM dc_check_todo; /*游标声明后跟SQL语句*/

C_ROW C_EMP%ROWTYPE; /*定义游标变量,该变量的类型为基于游标C_EMP的记录,既类型不固定,相当于var类型*/

 

 

第二部:使用游标(三种循环方式)

 

:for循环

FOR C_ROW IN C_EMP LOOP  

 DBMS_OUTPUT.PUT_LINE(C_ROW.todo_id || '--' ); /*注意此处;连接符号要用||*/

 END LOOP;

:fetch循环

OPEN C_EMP;/*必须要明确的打开和关闭游标*/ 

BEGIN /*此处的begin不能少*/

 LOOP  

FETCH C_EMP  

 INTO C_ROW;  

EXIT WHEN C_EMP%NOTFOUND;  

DBMS_OUTPUT.PUT_LINE(C_ROW.todo_id || '++' );

 END LOOP;

END;  

CLOSE C_EMP;  /*关闭游标*/

 

:while循环

OPEN C_EMP;/*必须要明确的打开和关闭游标*/  

 FETCH C_EMP INTO C_ROW;  

 WHILE C_EMP%FOUND LOOP  

  DBMS_OUTPUT.PUT_LINE(C_ROW.todo_id || '**' );

FETCH C_EMP INTO C_ROW;

   END LOOP;

 CLOSE C_EMP;  END sp_sync_plan;

 

DEALLOCATE MycrsrVar          /* 删除游标 */

原创粉丝点击