`
pavel
  • 浏览: 930934 次
  • 性别: 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;
/

分享到:
评论

相关推荐

    整理:oracle pl/sql 入门+ 数组使用+游标+动态SQL

    在这个“整理:Oracle PL/SQL 入门+数组使用+游标+动态SQL”文档中,我们将深入探讨这四个关键概念。 1. Oracle PL/SQL入门: - PL/SQL的基本结构:PL/SQL由声明部分、执行部分和异常处理部分组成,用于定义变量、...

    oracle存储过程学习经典入门

    Oracle 存储过程学习经典入门 Oracle 存储过程学习目录是 Oracle 存储过程学习的基础知识,了解 Oracle 存储过程的基本语法、基础知识和一些常见问题的解决方法是非常重要的。本文将从 Oracle 存储过程的基础知识...

    ORACLE 存储过程入门范例

    以上就是对"ORACLE 存储过程入门范例"中的关键知识点的详细解释。通过学习和实践这些概念,可以深入理解Oracle存储过程的编写和使用,从而在数据库管理、数据处理和业务逻辑实现上更高效地工作。

    DB2数据库存储过程入门

    DB2数据库存储过程是数据库管理员和开发者用于封装SQL语句和控制流逻辑的数据库对象。它们提供了一种高效、安全的方式来执行复杂的数据库操作,并且可以重复使用,提高代码的复用性和可维护性。以下是对DB2存储过程...

    DB2存储过程入门实例

    在本“DB2存储过程入门实例”文档中,我们将深入探讨DB2存储过程的基础知识,包括其定义、创建、调用以及优化等方面。 一、存储过程的概念 存储过程是由一组预编译的SQL语句组成的程序,存储在数据库服务器上,可由...

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

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

    plsql 存储过程入门

    本文将从基础概念、数据类型、控制结构、循环、记录类型与集合类型、游标、异常处理以及存储过程和函数等方面介绍PL/SQL的入门知识。 1. 数据类型 PL/SQL的数据类型包括数字类型(如BINARY_INTEGER和NUMBER)、字符...

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

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

    存储过程从入门到熟练(多个存储过程完整实例及调用方法)

    本资源"存储过程从入门到熟练(多个存储过程完整实例及调用方法)"显然是一个帮助初学者和进阶者掌握存储过程使用的宝贵资料,它涵盖了从基础概念到实践应用的多个方面。 首先,让我们了解一下存储过程的基本概念。...

    oracle 游标入门

    ### Oracle 游标入门知识点详解 #### 一、Oracle游标简介 在Oracle数据库中,游标(Cursor)是一种用于处理查询结果集的机制。它允许用户逐行地访问查询结果,这对于处理大量数据时非常有用。游标分为显式游标和...

    Oracle入门教程-28本全套

    4. **PL/SQL编程**:介绍Oracle的编程语言PL/SQL,包括声明变量、控制流程语句(IF-THEN-ELSIF、CASE、LOOP)、异常处理和存储过程的编写。 5. **表和数据类型**:详解Oracle中的数据对象,如表的创建、索引、视图...

    SQL_入门级范例_游标_触发器_多表联查_事物

    触发器是一种存储过程,当满足特定条件时(如INSERT、UPDATE或DELETE操作),数据库会自动执行这些过程。它们可以用来实现复杂的业务规则,如数据验证、审计跟踪或保持数据库的一致性。触发器使得数据库系统具备了...

    oracle 存储过程 案例

    这个“Oracle存储过程案例”提供了丰富的学习材料,帮助用户从入门到精通掌握存储过程和游标的使用。下面我们将深入探讨这两个核心概念。 一、Oracle存储过程 存储过程是预编译的SQL语句集合,可以包含数据查询、...

    存储过程入门与提高 需要的可以下载来看看

    在数据库管理领域,存储过程(Stored Procedure)是SQL语言的重要组成部分,它是一种预编译的SQL语句集合,用于执行特定任务或重复性操作。存储过程的使用极大地提高了数据库的性能、安全性和可维护性。以下是对存储...

    oracle存储过程入门必备

    `test_xg_p6`展示了一个使用游标`cursor1`从`hotel`表中获取满足条件的所有记录,并将它们拼接成一个字符串返回的存储过程。 ```sql CREATE OR REPLACE PROCEDURE test_xg_p6(x_out OUT VARCHAR2) IS temp_result ...

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

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

    PLSQL入门存储过程(详细注释案例).pdf

    根据提供的文件信息,我们可以深入探讨以下...以上就是基于给定文件信息对 PL/SQL 存储过程的基本介绍,包括语言特点、程序结构、数据类型与定义以及简单的示例代码。希望这些内容能够帮助初学者快速入门 PL/SQL 编程。

    小题大做之MySQL 5.0存储过程编程入门(转)

    MySQL 5.0 存储过程编程入门是数据库管理领域中的一个重要话题,它涉及到数据库的高级功能,使得数据库系统能够执行复杂的逻辑操作,提高数据处理的效率和安全性。存储过程是一组预先编译的SQL语句,可以在需要时被...

    oracle存储过程入门实例,绝对推荐!

    在实际应用中,存储过程通常与游标结合,处理多行数据。游标允许我们逐行处理查询结果,如下所示: ```sql CREATE OR REPLACE PROCEDURE print_salaries IS CURSOR c_emp_salaries IS SELECT salary FROM ...

    oracle存储过程学习经典入门.rar_oracle

    这个压缩包文件"oracle存储过程学习经典入门.rar_oracle"显然包含了帮助初学者理解并掌握Oracle存储过程的基础教程。下面将详细讲解Oracle存储过程的相关知识点。 首先,存储过程是预编译的SQL语句集合,它在数据库...

Global site tag (gtag.js) - Google Analytics