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

PL/SQL脚本语言游标的使用学习笔记

阅读更多
(一)、游标的用法学习
    (a)、游标就是指在某个结果集上的指针,通过这个指针的移动,我们得以遍历整个结果集
    (b)、游标的使用步骤
         (1)声明游标
         (2)打开游标
         (3)处理游标中的数据
         (4)关闭游标

  (c)、最常用的游标属性有以下四个:
     %isopen,boolean类型变量,用来代表游标是否打开。
     %notfound,boolean类型变量,如果最近的fetch语句没有返回一条记录,取true。
     %found,boolean类型变量,如果最近的fetch语句取到了记录,取true。
     %rowcount,number类型变量,用来代表目前fetch到的记录的总行数。

(二)、游标的遍历方式
   (1)、Loop循环遍历游标    利用loop循环和%notfound属性实现游标的遍历
   (2)、While循环遍历游标  利用while循环配合%found属性实现游标的遍历
   (3)、for循环遍历游标   利用for循环遍历游标,不需要打开游标,也不需要关闭,甚至不用声明循环变量,最简单

--用三种循环遍历游标
declare
   --声明游标
  cursor c_emp(v_deptno number) is select * from emp e where e.deptno=v_deptno;
  --声明一个游标的行变量  loop遍历或者while loop遍历时使用
  c_emp_row c_emp%rowtype;
begin
/* --loop  遍历
  --打开游标
  open c_emp(10);
  --使用游标
  loop
       fetch  c_emp  into c_emp_row ;--取数据
       exit when  c_emp%notfound;
       dbms_output.put_line(c_emp_row.ename);
  end loop;
  --关闭游标
  close c_emp;*/
  dbms_output.put_line('----------------------for循环遍历游标------------------------');
  --for循环遍历游标
  for emp_row in c_emp(10) loop
     dbms_output.put_line(emp_row.ename);
  end loop;
  dbms_output.put_line('---------------------while循环遍历游标-------------------------');
  --while循环遍历游标
  open c_emp(10);
  fetch  c_emp  into c_emp_row ;--取数据
  while  c_emp%found loop
      dbms_output.put_line(c_emp_row.ename);
      fetch  c_emp  into c_emp_row ;--取数据
  end loop;
  close c_emp;
end;

(三)、使用游标更新结果集
     select语句后面添加for update来提示oracle锁定记录以便进行更新,
     用where current of 来指明操作是添加在当前游标所指向的记录上。
示例
declare
--
  cursor c is select * from emp2 e for update;
  v_temp c%rowtype;
begin
  for v_temp in c loop
    dbms_output.put_line(v_temp.sal);
    if(v_temp.sal < 2000) then
      update emp2  set sal =7000 where current of c;
     elsif(v_temp.sal = 5000) then
       delete from emp2 where current of c;
     end if;
  end loop;
end;
分享到:
评论

相关推荐

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

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

    PL/SQL 程序设计

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

    Pl/Sql程序设计

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

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

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

    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 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课件

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

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

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

    PL/SQL语言的简介

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

    Oracle PL SQL

    本书从认识PL/SQL语言起步,到使用PL/SQL语言编程,再到最后掌握优化PL/SQL语言,全面展示了PL/SQL语言的使用。本书附带1张DVD光盘,内容为作者为本书录制的全程多媒体语音教学视频及教学PPT。 本书共有17章,涵盖的...

    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 Developer8.04官网程序_keygen_汉化

    SQL基本命令 PL/SQL使用的数据库操作语言还是基于SQL的,所以熟悉SQL是进行PL/SQL编程的基础。SQL语言的分类情况大致如下:  1) 数据定义语言(DDL):Create,Drop,Grant,Revoke,…  2) 数据操纵语言(DML):...

    pl/sql相关学习文档

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

    PL/SQL语言的编译与游标编程实例(十).pdf

    PL/SQL语言的编译与游标编程实例(十).pdf

    PL/SQL块举例教案

    PL/SQL块,游标的使用,过程与函数等使用方法

    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的各种基础知识和高级特征(记录...

Global site tag (gtag.js) - Google Analytics