Oracle存储过程游标for循环怎么写

作者:暴躁小n | 创建时间: 2023-06-24
本文将介绍Oracle存储过程的游标for循环的典型应用方式。如何编写没有参数的游标for循环,以及带有参数的游标for循环。...
Oracle存储过程游标for循环怎么写

一、不带参数的游标for循环

首先编写存储过程的整体结构,如下: create or replace procedure test_procis 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】标签页查看结果如下图:

二、带参数的游标for循环

定义带参数的游标: 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】标签页查看结果如下图:

点击展开全文

更多推荐