Oracle存储过程使用游标进行遍历
记录存储过程使用游标进行遍历
1、初始化表等数据,用于测试使用游标遍历的存储过程
CREATE TABLE TEST(ID NUMBER PRIMARY KEY , NAME VARCHAR(64)); INSERT INTO TEST VALUES(1,'CHEN'); INSERT INTO TEST VALUES(2,'LYLY');
2、游标遍历的存储过程sql
CREATE OR REPLACE PROCEDURE TEST_CURSOR(I_ID IN NUMBER) IS CURSOR C_TEST IS SELECT ID,NAME FROM TEST T WHERE T.ID = I_ID ; --声明显式游标 C_T C_TEST%ROWTYPE; --定义游标变量,该变量的类型为基于游标C_TEST的记录 BEGIN
DBMS_OUTPUT.ENABLE(BUFFER_SIZE=>NULL); --FOR 循环 FOR C_T IN C_TEST LOOP DBMS_OUTPUT.PUT_LINE('FOR: '||C_T.ID ||'-'|| C_T.NAME); END LOOP; --WHILE 循环 OPEN C_TEST; --必须要明确的打开游标 FETCH C_TEST INTO C_T; WHILE C_TEST%FOUND LOOP DBMS_OUTPUT.PUT_LINE('WHILE: '||C_T.ID|| '-' || C_T.NAME); FETCH C_TEST INTO C_T; END LOOP; CLOSE C_TEST; --必须要明确的关闭游标 --FETCH 循环 OPEN C_TEST; --必须要明确的打开游标 LOOP FETCH C_TEST INTO C_T; EXIT WHEN C_TEST%NOTFOUND; DBMS_OUTPUT.PUT_LINE('FETCH: '||C_T.ID|| '—' || C_T.NAME); END LOOP; CLOSE C_TEST; --必须要明确的关闭游标 END;
3、执行游标遍历的存储过程
作者:小念
本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!