`

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/Sql程序设计

    1、PL/SQL简介 2、PL/SQL基础 3、记录和表 4、在PL/SQL中使用SQL 5、内置SQL函数 6、游标 7、过程和函数 ...

    PL/SQL 程序设计

    PL/SQL 程序设计 本章主要重点:  PL/SQL概述  PL/SQL块结构  PL/SQL流程  运算符和表达式  游标  异常处理  数据库存储过程和函数  包  触发器

    oracle PL/SQL测试题目和详细答案

    pl/sql存储过程,函数,游标,以及存储过程中的基础知识,绝对值得你收藏的经典题目,让你的pl/sql得到最大的锻炼。让你的数据库逻辑更加灵活。

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

    NULL 博文链接:https://sytcun.iteye.com/blog/1408182

    PL/SQL课件

    PL/SQL简介(第1~2章) PL/SQL中的SQL语句(第3章) 控制结构(第4~7章) 异常处理(第8~10章) 游标(第11~12章) 触发器(第13~14章) 复合数据类型(第15~16章) 动态SQL(第17章) 批量SQL(第18章) 子程序和包...

    PL/SQL程序设计

    除此之外,可以在ORACLE数据库的某些客户端工具中,使用PL/SQL语言也是该语言的一个特点。本章的主要内容是讨论引入PL/SQL语言的必要性和该语言的主要特点,以及了解PL/SQL语言的重要性和数据库版本问题。还要介绍...

    Oracle_PLSQL语言基础

    PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL基础语法,结构和组件、以及如何设计并执行一个PL...

    Oracle 11g SQL和PL SQL从入门到精通 pdf格式电子书 下载(二)

    通过学习本书,读者不仅可以掌握oracle常用工具oracle universal installer、net comfiguration assistant、sql developer、sql*plus的作用及使用方法,而且可以掌握sql语句和pl/sql的各种基础知识和高级特征(记录...

    Oracle 11g SQL和PL SQL从入门到精通〖送源代码〗

    通过学习本书,读者不仅可以掌握Oracle常用工具Oracle Universal Installer、Net Comfiguration Assistant、SQL Developer、SQL*Plus的作用及使用方法,而且可以掌握SQL语句和PL/SQL的各种基础知识和高级特征(记录...

    oracle存储过程、游标、函数、PL/SQL块

    包含oracle存储过程的增、删、查、改 %type、%rowtype的使用 自定义函数 PL/SQL块

    pl/sql相关学习文档

    pl/sql中的一些基本概念,讲解了pl/sql语句的编写方法。其中包含了pl/sql的简单语句、循环语句、条件语句等的相关知识,重点介绍了存储过程、函数、游标、触发器等的编写和运用。

    PL/SQL Developer8.04官网程序_keygen_汉化

     使用PL/SQL Profiler,可以浏览每一执行的PL/SQL代码行的时序信息(Oracle8i或更高),从而优化您SQL和PL/SQL的代码性能。  更进一步,您还可以自动获取所执行的SQL语句和PL/SQL程序统计信息。该统计信息包括CPU...

    Oracle PL/SQL语言初级教程

    Oracle PL/SQL语言初级教程 1 目录 1 1.PL/SQL语言基础 3 过程 5 包(package) 6 变量和常量 6 执行部分 10 控制结构 12 小结 17 2.PL/SQL的复合数据类型 17 使用记录 19 PL/SQL集合 23 嵌套表 24 使用集合 25 集合的...

    PL/SQL编程(电子版)

    内容包括(1)PL/SQL简介(2)PL/SQL语法(3)存储过程(4)触发器(5)游标(6)包(7)函数七部分。如果你是初学者,很快时间就可以掌握PL/SQL了。相信我,没错的!

    Oracle 11g SQL和PL SQL从入门到精通 pdf格式电子书 下载(一)

    通过学习本书,读者不仅可以掌握oracle常用工具oracle universal installer、net comfiguration assistant、sql developer、sql*plus的作用及使用方法,而且可以掌握sql语句和pl/sql的各种基础知识和高级特征(记录...

    oracle实验五 PL/SQL编程

    【实验目的】 1. 熟悉PL/SQL的数据类型和书写规则 2. 熟悉控制结构和游标的使用 3. 编写和运行函数、过程和触发器

    pl/sql笔记/sql笔记(游标创建存储过程)

    Pl/SQL简介 控制结构 复合数据类型 游标 异常 创建存储过程 函数的概念 包的概念 触发器概念

    Oracle PL SQL

    本书讲解在Oracle 11g中使用PL/SQL语言的方法,每章都突出了PL/SQL语言的使用技巧,每个关键技术都给出了示例,每个实例都在真实的环境中演练。本书从认识PL/SQL语言起步,到使用PL/SQL语言编程,再到最后掌握优化PL...

    PL/SQL语言的简介

    PL/SQL语言的简介 程序结构 流程控制 异常处理 过程与函数 游标 程序包 触发器

Global site tag (gtag.js) - Google Analytics