Oracle存储过程游标for循环怎么写
1个回答
2016-10-21 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
一、不带参数的游标for循环
1
首先编写存储过程的整体结构,如下:
create or replace procedure test_proc is
v_date date; --变量定义
begin
select sysdate into v_date from dual;
end test_proc;
2
定义游标:
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;
3
编写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;
4
测试运行,点击【DBMS Output】标签页查看结果如下图:
END
二、带参数的游标for循环
1
定义带参数的游标:
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)中的一致。
2
编写for循环部分:
--游标for循环开始
for temp in cur('llmedfeetype') loop
--temp为临时变量名,自己任意起
--cur('llmedfeetype')为"游标名称(传入的变量)"
Dbms_Output.put_line(temp.Code); --输出某个字段,使用"变量名.列名"即可。
end loop;
--游标for循环结束
3
测试运行,点击【DBMS Output
1
首先编写存储过程的整体结构,如下:
create or replace procedure test_proc is
v_date date; --变量定义
begin
select sysdate into v_date from dual;
end test_proc;
2
定义游标:
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;
3
编写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;
4
测试运行,点击【DBMS Output】标签页查看结果如下图:
END
二、带参数的游标for循环
1
定义带参数的游标:
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)中的一致。
2
编写for循环部分:
--游标for循环开始
for temp in cur('llmedfeetype') loop
--temp为临时变量名,自己任意起
--cur('llmedfeetype')为"游标名称(传入的变量)"
Dbms_Output.put_line(temp.Code); --输出某个字段,使用"变量名.列名"即可。
end loop;
--游标for循环结束
3
测试运行,点击【DBMS Output
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询