您的位置:首页 > 其它

存储过程中的游标使用

2017-06-27 09:22 232 查看
存储过程

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          /* 删除游标 */
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: