`

游标在存储过程中的简单使用

阅读更多
游标的格式: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 的函数、存储过程、游标、简单实例 oracle常用语句

    Orcale存储过程,游标,函数,简单易懂

    初学者专用,老司机看了也能回顾知识,个人总结,不喜勿喷。

    游标嵌套 STATUS 异常 存储过程

    一个存储过程的示例,简单展示了如下方面: 1,异常处理,事务回滚。 2,错误消息返回。 3,游标嵌套。 4,对于嵌套游标STATUS的互相影响问题的解决办法《注意001和002的注释位置,fetch的位置》。 对于初学者,...

    navicat中创建存储过程、触发器和使用游标的简单实例(图文)

    写一个存储过程,往users表中插入数据,创建过程如下: 代码如下 BEGIN #Routine body goes here... declare n bigint; set n = 201121029684; while n <= 201121029694 do insert into users(student_...

    Oralce PLSQL存储过程之游标实践!

    声明:本文中的所有代码均是实战敲出来的!杜绝copy! 代码是以游标的编写、调用、为目的。从简单到复杂,用迭代的思想不断丰富例子功能。希望对各位同学有所帮助。

    Sql存储过程游标循环的用法及sql如何使用cursor写一个简单的循环

    主要介绍了循环和游标在Sql存储过程中使用及sql如何使用cursor写一个简单的循环的相关资料,需要的朋友可以参考下

    Oracle数据库存储过程技术文档.doc

    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 用户函数创建,编译...

    sql总结.doc

    存储过程(Stored Procedure)是一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。 (2)存储过程的基本写法...

    mysql存储过程循环表

    一个简单易理解的mysql存储过程 循环表操作 使用游标

    原创sql存储过程函数范例

    原创sql存储过程函数范例,一是为了自己方便查找,今天到公司因为没有我保存的一些范例,一个简单的例子写了半个小时,如果有范例直接套几分钟肯定搞定,所以索性上传到CSDN上,何时何地都能找到我的范例了。...

    精通sql结构化查询语句

    以SQL Server为工具,讲解SQL语言的应用,提供了近500个曲型应用,读者可以随查随用,深入讲解SQL语言的各种查询语句,详细介绍数据库设计及管理,详细讲解存储过程、解发器和游标等知识,讲解了SQL语言在高级语言中...

    sql2005存储过程的应用

    sqlserver2005中存储过程、触发器、游标的应用,以及简单的字符串拼接技术!

    mybatis入门-简单的配置文件的书写,数据库查询语句的书写以及存储过程调用

    这是一个简单的mybatis项目,包含mybatis需要用到的jar包,里面同时包含配置文件的书写,查询语句的配置调用以及存储过程的调用的书写方法,还有就是包含游标输出的存储过程,如何去接收返回游标的示例;还有就是一...

    MySQL存储过程使用实例详解

    本文介绍关于在MySQL存储过程游标使用实例,包括简单游标使用与游标循环跳出等方法

    精通SQL 结构化查询语言详解

    10.3.3 在HAVING子句中使用相关子查询  10.4 嵌套子查询  10.5 使用子查询创建视图  10.6 树查询 第11章 数据插入操作  11.1 插入单行记录  11.1.1 基本语法  11.1.2 整行插入  11.1.3 NULL值的...

    自己封装的JDBC工具类源码

    5、调用存储过程; 6、调用函数返回一个String,int结果; 7、调用过程返回游标并封装到list返回(包括包中过程); 8、调用函数返回游标并封装到list中返回(包括包中函数); 其中,与数据库的连接声明成了...

    orale存储过程

    新手学习存储过程,游标, 触发器,简单入门必会

    自学oracle存储过程

    在存储过程中做简单动态查询..................................................................................................... 11 一、 本地动态 SQL.......................................................

Global site tag (gtag.js) - Google Analytics