`

PL/SQL游标的使用方法

 
阅读更多
--游标类型:用来表示一个结果集(多条数据)的类型
1.隐式游标:指DBMS(如Oracle)在执行SELECT…into,delete,update,insert等语句时的SQL游标,它提供最近执行SQL语句的情况,一般用在delete,update语句后,用来查询最近的操作是否成功
   任何一个DML语句执行的时候都会默认创建一个游标
   这个游标的名字是SQL
   隐式游标有四个属性可以使用:
   %found --执行的语句影响到了一行或者多行数据,就为true,否则为false
   %notfound --执行的语没有影响数据,就为true,否则为false
   %rowcount --获得执行语句影响到了多少行
   %isopen --判断游标是否打开,隐式游标始终是false
   %前缀是SQL


   --练习:判断数据是否修改成功
begin
   update empbak set sal=10000 where empno=&no;
   
   if SQL%rowcount=0 then
     dbms_output.put_line('更新失败!!');
   else
     dbms_output.put_line('更新成功!!');
   end if;
end;
2.显式游标:当一行查询结果超过时,用户就不能使用select into语句,此时就需要一个显式游标,声明、打开及管理都是需要程序员手动操作的,通常用来处理查询结果是多行或零行的情况。
oracle显式游标的属性:
属性名                                返回值
Cursor_name%ISOPEN                 TURE:游标打开;FALSE:游标关闭 
Cursor_name%FOUND                TURE:最近一次提取数据成功;FALSE:最近一次提取数据失败
Cursor_name%NOTFOUND               TURE:最近一次提取数据失败;FALSE:最近一次提取数据成功
Cursor_name%ROWCOUNT               最近一次提取的行的序号(即已经从游标中提取的记录行数)
(1).声明:在declare部分使用
Cursor  游标名 is 查询语句;
注意:查询语句不能带into字句。
(2).打开:写在begin块中。
语法:open 游标名;
打开游标实际上就是相当于执行游标所对应的查询语句,并且把查询结果集放入内存中。
(3).提取数据:(写在begin块中)
语法:fecth 游标名 into 变量名列表|记录型变量;
该语句通常是放在一个循环中
(4).关闭游标:
语法:close 游标名;
相当于释放内存。
--练习:获取部门10的所有员工的姓名和工资
declare
   v_ename emp.ename%type;
   v_sal emp.sal%type;
   --定义显式游标,一定要绑定一个查询语句
   --游标mc中装的是查询语句的结果集
   cursor mc  is select ename,sal from emp where deptno=10;
begin
  --打开游标[游标默认是关闭的],打开后才能够提取游标中的数据
  open mc;
       loop  
           --提取游标中的数据
           --每fetch一次,就提取了一条数据
           fetch mc into v_ename,v_sal;
           --判断是否有数据,如果没有就退出
           exit when mc%notfound;
           dbms_output.put_line(v_ename||'  '||v_sal);
       end loop;
    --关闭游标
    close mc;
end;

 
1
2
分享到:
评论

相关推荐

    一个对数据库的操作工具PL/SQLpl/sqL工具

    3. **游标**:PL/SQL支持游标,允许用户逐行处理查询结果,这对于处理大量数据时非常有用。 4. **事务管理**:PL/SQL提供BEGIN、COMMIT、ROLLBACK等语句来管理事务,确保数据的一致性和完整性。 5. **异常处理**:...

    pl/sql最新中文手册

    1. **PL/SQL基础**:手册可能会从基础开始,介绍PL/SQL的基本结构,包括声明变量、常量、游标、记录类型等。还会讲解如何编写存储过程、函数和触发器。 2. **控制流程语句**:这包括条件判断(IF-THEN-ELSIF-ELSE)...

    oracle10g_pl/sql

    - **游标变量**:用于存储游标状态,可以在PL/SQL中传递和操作。 - **包**:将相关的过程、函数和变量打包在一起,便于管理和重用。 6. **PL/SQL性能优化** - **绑定变量**:减少解析次数,提高执行效率。 - **...

    PL/SQL中用到的几种不同类型的游标写法(转)

    PL/SQL还支持匿名块游标,也称为块内游标,它是在没有声明游标变量的情况下直接在PL/SQL块中使用的。例如: ```sql BEGIN FOR emp_rec IN (SELECT first_name, last_name FROM employees WHERE department_id = ...

    Oracle PL/SQL实战(待续)

    PL/SQL中的游标是处理单行或多行结果集的重要工具。它们允许我们逐行处理查询结果,非常适合在循环中进行数据操作。声明游标的基本语法是`DECLARE cursor_name CURSOR FOR select_statement;`,然后通过`OPEN`, `...

    Oracle资料学习PL/SQL必备

    10. **索引和性能优化**:了解如何创建和使用索引,以及如何分析和优化SQL查询性能,对于高效使用PL/SQL至关重要。 在提供的"PLSQL基础.pdf"文件中,你将可能找到以上各点的详细讲解,从基础概念到实际应用,逐步...

    ORACLE PL/SQL从入门到精通

    最后,还有关于字符串、数值、日期等数据类型的函数介绍,以及SELECT语句的不同使用方法,如合并查询、SELECT INTO、删除、修改、用户管理、添加数据、设置保存点和事务处理等。 这本书籍将为读者提供一个全面、...

    Oracle PL/SQL程序设计(第5版)(上下册)

    - **游标**:介绍游标的使用方法,包括隐式游标和显式游标,以及如何利用游标遍历查询结果。 #### 四、PL/SQL中的SQL - **SQL语句的执行**:介绍如何在PL/SQL代码中嵌入SQL语句,包括查询、插入、更新和删除操作。...

    oracle 中 pl/sql 只是学习方法

    9. **索引和触发器**:虽然不是PL/SQL语言本身的一部分,但在Oracle数据库中,PL/SQL经常用于创建和使用索引以及定义触发器,以实现自动化数据验证和业务规则。 10. **嵌套表和对象类型**:PL/SQL支持嵌套表和...

    oracle pl/sql从入门到精通 配套源代码

    在Oracle PL/SQL中,我们可以通过使用SQL语句来与数据库进行交互,例如SELECT用于查询数据,INSERT、UPDATE和DELETE用于修改数据。PL/SQL还提供了游标(CURSOR)机制,允许我们逐行处理查询结果。此外,PL/SQL还支持...

    PL/SQL 基本知识

    这篇博客主要探讨了PL/SQL的基础知识,包括其语法特性、使用场景以及在数据库管理中的重要性。 首先,PL/SQL是一种过程化语言,它允许用户定义变量、控制流程(如循环、条件语句)、处理异常,并且可以嵌入SQL查询...

    oracle 经典资料及PL/SQL 使用指南 英文版

    这篇“Oracle经典资料及PL/SQL使用指南”的英文版,将帮助学习者深入理解Oracle数据库的基础概念以及PL/SQL的高级用法。 一、Oracle数据库基础 1. 数据库架构:Oracle数据库采用多层架构,包括物理存储层、逻辑...

    Oracle PL/SQL实例编程(PL/SQL经典书籍)

    Oracle PL/SQL是一种强大的编程语言,它将数据库管理和应用程序逻辑紧密结合起来,是Oracle数据库系统中的核心组件之一。这本书“Oracle PL/SQL实例编程”显然旨在深入讲解如何利用PL/SQL进行实际开发工作,通过实例...

    Oracle Database 12c PL/SQL开发指南 实例源代码

    3. **游标**:在PL/SQL中如何使用游标处理单行或多行数据,以及游标的声明、打开、关闭和循环遍历。 4. **记录类型**:定义和操作记录类型,用于处理动态或不确定的数据结构。 5. **集合类型**:包括数组(PLS_...

    PL/SQL入门到精通书的源代码

    12. **游标变量**:游标变量是PL/SQL中的一种特殊变量,可以直接存储查询结果,用于在程序中传递查询结果。 13. **PL/SQL与Oracle数据库对象**:学习如何在PL/SQL中创建、修改和删除数据库对象,如表、视图、索引等...

    PL/SQL编程基础知识

    需要注意的是,在PL/SQL中只能使用SQL的DML(Data Manipulation Language)部分,而不能直接使用DDL(Data Definition Language)部分,如创建表(CREATE TABLE)等操作。如果需要在PL/SQL中执行DDL操作,则需要通过...

    PL/SQL下载

    在使用PL/SQL Developer之前,确保你的计算机已经安装了Oracle客户端或者Instant Client,因为该工具需要连接到Oracle数据库来执行PL/SQL代码。 **学习资源** 对于初学者,可以从以下几个方面入手学习PL/SQL: 1. *...

    Oracle PL/SQL专家指南-高级PL/SQL解决方案的设计与开发

    3. **游标**:讲解如何使用显式和隐式游标进行查询和遍历结果集,以及游标变量的运用。 4. **动态SQL**:探讨如何在PL/SQL中执行SQL语句,包括EXECUTE IMMEDIATE和PREPARE-EXECUTE-CLOSE模式,以及绑定变量的应用。...

    pl/sql使用软件

    PL/SQL的使用需要对Oracle数据库有深入的理解,它不仅提供了强大的数据库编程能力,还简化了数据库应用程序的开发。对于那些在Oracle环境中工作的开发者和DBA而言,掌握PL/SQL是必不可少的技能。这款名为“plsql”的...

    PL/SQL安装包

    6. **游标**:PL/SQL中的游标允许逐行处理查询结果,是处理复杂数据操作的重要工具。 7. **记录类型和变量**:PL/SQL支持自定义记录类型和变量,使得可以创建更贴近业务需求的数据结构。 这个"PL/SQL安装包"可能...

Global site tag (gtag.js) - Google Analytics