Oracle存储过程游标for循环怎么写
阅读原文时间:2023年07月08日阅读:2

首先编写存储过程的整体结构,如下:

create or replace procedure test_proc is

v_date date; --变量定义

begin

select sysdate into v_date from dual;

end test_proc;

定义游标:

create or replace procedure test_proc is

v_date date; --定义变量

cursor cur is select * from ldcode; --定义游标

begin

select sysdate into v_date from dual;

end test_proc;

编写for循环:

create or replace procedure test_proc is

v_date date; --定义变量

cursor cur is select * from ldcode where rownum<10; --定义游标

begin

select sysdate into v_date from dual;

--游标for循环开始

for temp in cur loop --temp为临时变量名,自己任意起

Dbms\_Output.put\_line(temp.Code); --输出某个字段,使用"变量名.列名"即可。

end loop;

--游标for循环结束

end test_proc;

测试运行,点击【DBMS Output】标签页查看结果如下图:

定义带参数的游标:

cursor cur(v_codetype ldcode.Codetype%TYPE) is

select \* from ldcode where codetype = v\_codetype; --定义游标

定义游标格式:

cursor 游标名称(变量定义) is 查询语句;

注意:

where条件中的变量名v_codetype要与游标定义cur(v_codetype ldcode.Codetype%TYPE)中的一致。

编写for循环部分:

--游标for循环开始

for temp in cur('llmedfeetype') loop

--temp为临时变量名,自己任意起

--cur('llmedfeetype')为"游标名称(传入的变量)"

Dbms\_Output.put\_line(temp.Code); --输出某个字段,使用"变量名.列名"即可。

end loop;

--游标for循环结束

测试运行,点击【DBMS Output】标签页查看结果如下图: