`
pavel
  • 浏览: 919032 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

储存过程入门06--游标

 
阅读更多

游标属性:%FOUND %ISOPEN  %NOTFOUND %ROWCOUNT

 

 

 

DECLARE
CURSOR mysur IS
select * from books;
myrecord books%ROWTYPE;
BEGIN
OPEN mycur;
FETCH mycur INTO myrecord;
WHILE mysur%FOUND LOOP
DBMS_OUTPUT.PUT_LINE(myrecord.books_id||','||myrecord.books_name);
FETCH mycur INTO myrecord;
END LOOP;
CLOSE mycur;
END;
/

 

 

游标参数

DECLARE
CURSOR cur_para(id varchar2) IS  --参数只给类型 不给精度
SELECT books_name FROM books WHERE book_id =id;
t_name books.books_name%TYPE;
BEGIN
OPEN cur_para('0001');
LOOP
FETCH cur_para INTO t_name;
EXIT WHEN cur_para%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(t_name);
END LOOP;
CLOSE cur_para;
END;
/

 

 

DECLARE
CURSOR cur_para(id varchar2) IS
SELECT books_name FROM books WHERE books_id=id;
BEGIN
DBMS_OUTPUT.PUT_LINE('*******结果集*****');
FOR cur IN cur_para('0001') LOOP
DBMS_OUTPUT.PUT_LINE(cur.books_name);
END LOOP;
END;
/

 

DECLARE
t_name books.books_name%TYPE;
CURSOR cur(id varchar2) IS
SELECT books_name FROM books WHERE  books_id=id;
BEGIN
IF cur%ISOPEN THEN
DBMS_OUTPUT.PUT_LINE('游标已打开');
ELSE
OPEN cur('000');
END IF;
FETCH cur INTO t_name;
CLOSE cur;
DBMS_OUTPUT.PUT_LINE(t_name);
END;
/

 

 

DECLARE
t_name varchar2(10);
CURSOR mycur IS
SELECT name FROM deptment;
BEGIN
OPEN mycur;
LOOP
FETCH mycur INTO tname;
EXIT WHEN mycur%NOTFOUND OR mycur%NOTFOUND IS NULL;
DBMS_OUTPUT.PUT_LINE('游标mycur的ROWCOUNT是:'||mycur%ROWCOUNT);
END LOOP;
CLOSE mycur;
END;
/

 

用游标更新数据

DECLARE
CURSOR cur IS
SELECT name FROM dept FOR UPDATE;--更新一定要设置
text varchar2(10);
BEGIN
OPEN cur;
FETCH cur INTO text;
WHILE cur%FOUND LOOP
UPDATE depart SET name=name||'_t' WHERE CURRENT OF cur;
FETCH cur INTO text;
END LOOP;
CLOSE cur;
END;
/

 

--隐式游标

BEGIN
FOR cur IN(SELECT name FROM dept) LOOP
DBMS_OUTPUT.PUT_LINE(cur.name);
END LOOP;
END;
/

分享到:
评论

相关推荐

    关于存储过程和游标的总结

    关于存储过程和游标的总结,比较全面的介绍了游标,包括动态游标,静态游标。有入门比较好的例子。

    plsql教程大全(语法入门、操作plsql、存储过程、函数、触发器、游标、包、返回类型)

    语法入门、操作plsql、存储过程、函数、触发器、游标、包、返回类型;一个execle表轻松搞定。

    SQL SERVER中的存储过程和游标的使用大综合

    不错的培训资料和作为入门和提高之用。希望各位能够不断的提升自己的技能。

    oracle学习笔记(从入门到精通)

    压缩包主要包括15个文档,主要是本人学习oracle过程中的笔记,希望对你有帮助:主要文档如下: 01-常用命令.txt 02-表空间建表.txt ...11-存储过程学习笔记.txt 12-触发器学习笔记.txt 13-pl编码.txt

    ORACLE 存储过程入门范例

    1、创建存储过程 2、变量赋值 3、判断语句 4、For 循环 5、While 循环 6、数组 7.游标的使用 ....

    Oracle从入门到高级应用的全部课程文档

    这是我学习Oracle时,老师给的讲义,包含了Oracle从入门到高级应用的全部资料。 ...Day09-存储过程.pdf Day10-变量定义和循环控制.pdf Day11-plsql游标和函数.pdf Day12-触发器.pdf Day13-索引.pdf

    oracle 存储过程 案例

    oracle 存储过程 案例 游标 从入门到精通 36个源码例子 值得收藏

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

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

    Oracle 从入门到精通视频教程(11G版本)(ppt)

    第10章-存储过程,提高程序执行的效率 什么是存储过程 在SQL*Plus中创建存储过程 使用PL/SQL工具创建存储过程 修改删除存储过程 第11章-触发器,保证数据的正确性 什么是触发器 SQL*PLUS操作触发器 使用PL/SQL...

    在Sql Server数据库中利用存储过程实现动态交叉表.pdf

    在Sql Server数据库中,默认情况下不提供交叉表的生成功能,因此需要使用存储过程、游标、临时表和动态SQL等技术来实现交叉表的生成。本文将详细介绍如何使用这些技术来实现交叉表的生成,并结合实例介绍了交叉表在...

    PL/pgSQL从入门到放弃(1)-入门

    本文由 @小刘先森 原创,转载请注明出处。 PL/pgSQL介绍 PL/pgSQL是一种用于...与不使用存储函数的应用相比,这能够导致可观的性能提升。 PL/pgSQL的HelloWorld 函数的结构: CREATE FUNCTION somefunc(integer

    pl/sql入门教程

    plsql入门 游标变量 Oracle EXTRACT()函数 用Java调用存储过程 ORACLE用户常用数据字典的查询使用方法

    Oracle入门实例

    适用于刚入门oracle的同志,包括表,视图,函数,游标,存储过程的创建,例子简单易懂,注释详细,不要错过!

    orale存储过程

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

    windows 程序设计

    执行绪区域储存空间(TLS) 21. 动态连结程式库 . 动态连结程式库的基本知识 . 各式各样的DLL讨论 22. 声音与音乐 . WINDOWS和多媒体 . 波形声音 . MIDI和音乐 23. 领略Internet . Windows Sockets . ...

    SQL Server 2008高级程序设计 1/6

     ◆有关存储过程和用户定义函数的全部内容  ◆存储过程的高级处理方法  ◆报表服务和集成服务的用法  ◆提高数据库安全性的提示信息  ◆如何利用XML和XQuery支持  ◆通过修改特定数据值进行推理分析的步骤  ...

    SQL Server 2008高级程序设计 2/6

     ◆有关存储过程和用户定义函数的全部内容  ◆存储过程的高级处理方法  ◆报表服务和集成服务的用法  ◆提高数据库安全性的提示信息  ◆如何利用XML和XQuery支持  ◆通过修改特定数据值进行推理分析的步骤  ...

    SQL Server 2008高级程序设计 3/6

     ◆有关存储过程和用户定义函数的全部内容  ◆存储过程的高级处理方法  ◆报表服务和集成服务的用法  ◆提高数据库安全性的提示信息  ◆如何利用XML和XQuery支持  ◆通过修改特定数据值进行推理分析的步骤  ...

    oracle入门与高级知识ppt

    oralce入门知识,包括表的创建、数据库设计、存储过程、游标、触发器等、以及高级技术包括oracle的体系结构、安全管理等。

    SQL Server 2008高级程序设计 5/6

     ◆有关存储过程和用户定义函数的全部内容  ◆存储过程的高级处理方法  ◆报表服务和集成服务的用法  ◆提高数据库安全性的提示信息  ◆如何利用XML和XQuery支持  ◆通过修改特定数据值进行推理分析的步骤  ...

Global site tag (gtag.js) - Google Analytics