游标的格式:cursor 游标名称 (名称 类型, 名称 类型, ...) is
select ...;
下面通过一个简单例子来说明它的使用:
1、首先,先建个表:
create table PM_L_LEVEL
(
LEVEL_ID INTEGER not null,
LEVEL_NAME VARCHAR2(500)
)
2、插入数据:
insert into PM_L_LEVEL (LEVEL_ID, LEVEL_NAME)
values (0, '0流程');
insert into PM_L_LEVEL (LEVEL_ID, LEVEL_NAME)
values (1, '1流程');
insert into PM_L_LEVEL (LEVEL_ID, LEVEL_NAME)
values (2, '2流程');
insert into PM_L_LEVEL (LEVEL_ID, LEVEL_NAME)
values (3, '3流程');
insert into PM_L_LEVEL (LEVEL_ID, LEVEL_NAME)
values (4, '4流程');
commit;
3、创建存储过程:
create or replace procedure Test_P(levleId in number,l_name out varchar2,tt out varchar2)
as
lnamed varchar2(30);
--num varchar2(30);
cursor test_cur is select p.level_name from pm_l_level p where p.level_id >levleId;
BEGIN
---使用for in 输出游标
for lnamed in test_cur loop
if test_cur%found then
l_name:=lnamed.level_name;
tt:=lnamed.level_name||','||tt;
end if;
end loop;
--使用loop fetch into 输出游标
/*open test_cur;
loop
fetch test_cur into lnamed;
exit when test_cur%notfound;
if test_cur%found then
l_name:=lnamed;
tt:=l_name;
dbms_output.put_line('读取的数据为'||l_name);
end if;
end loop;
dbms_output.put_line(tt);
close test_cur;*/
-- if(lnamed!=null) then
-- l_name:=lnamed;
--else
-- l_name:=lnamed;
--end if;
-- dbms_output.put_line(l_name);
-- dbms_output.put_line(msg);
END ;
这里对游标的输出使用了两种简单的循环输出。
分享到:
相关推荐
oracle 的函数、存储过程、游标、简单实例 oracle常用语句oracle 的函数、存储过程、游标、简单实例 oracle常用语句
初学者专用,老司机看了也能回顾知识,个人总结,不喜勿喷。
一个存储过程的示例,简单展示了如下方面: 1,异常处理,事务回滚。 2,错误消息返回。 3,游标嵌套。 4,对于嵌套游标STATUS的互相影响问题的解决办法《注意001和002的注释位置,fetch的位置》。 对于初学者,...
写一个存储过程,往users表中插入数据,创建过程如下: 代码如下 BEGIN #Routine body goes here... declare n bigint; set n = 201121029684; while n <= 201121029694 do insert into users(student_...
声明:本文中的所有代码均是实战敲出来的!杜绝copy! 代码是以游标的编写、调用、为目的。从简单到复杂,用迭代的思想不断丰富例子功能。希望对各位同学有所帮助。
主要介绍了循环和游标在Sql存储过程中使用及sql如何使用cursor写一个简单的循环的相关资料,需要的朋友可以参考下
2.2.3 游标中FOR循环的使用 20 2.2.4 带参数游标的使用方法 20 2.3 动态SQL语句 21 2.4 例外处理 22 2.5 一个完整的PL/SQL实例 24 第三章 oracle存储过程讨论 25 3.1 函数(FUNCTION) 26 3.1.1 用户函数创建,编译...
存储过程(Stored Procedure)是一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。 (2)存储过程的基本写法...
一个简单易理解的mysql存储过程 循环表操作 使用游标
原创sql存储过程函数范例,一是为了自己方便查找,今天到公司因为没有我保存的一些范例,一个简单的例子写了半个小时,如果有范例直接套几分钟肯定搞定,所以索性上传到CSDN上,何时何地都能找到我的范例了。...
以SQL Server为工具,讲解SQL语言的应用,提供了近500个曲型应用,读者可以随查随用,深入讲解SQL语言的各种查询语句,详细介绍数据库设计及管理,详细讲解存储过程、解发器和游标等知识,讲解了SQL语言在高级语言中...
sqlserver2005中存储过程、触发器、游标的应用,以及简单的字符串拼接技术!
这是一个简单的mybatis项目,包含mybatis需要用到的jar包,里面同时包含配置文件的书写,查询语句的配置调用以及存储过程的调用的书写方法,还有就是包含游标输出的存储过程,如何去接收返回游标的示例;还有就是一...
本文介绍关于在MySQL存储过程游标使用实例,包括简单游标使用与游标循环跳出等方法
10.3.3 在HAVING子句中使用相关子查询 10.4 嵌套子查询 10.5 使用子查询创建视图 10.6 树查询 第11章 数据插入操作 11.1 插入单行记录 11.1.1 基本语法 11.1.2 整行插入 11.1.3 NULL值的...
5、调用存储过程; 6、调用函数返回一个String,int结果; 7、调用过程返回游标并封装到list返回(包括包中过程); 8、调用函数返回游标并封装到list中返回(包括包中函数); 其中,与数据库的连接声明成了...
新手学习存储过程,游标, 触发器,简单入门必会
在存储过程中做简单动态查询..................................................................................................... 11 一、 本地动态 SQL.......................................................