`
zhy584520
  • 浏览: 180904 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

PL/SQL编程之游标使用

 
阅读更多

 

显示游标的操作步骤:定义游标、打开游标、提取数据、关闭游标

1.定义游标

cursor cursor_name is select_statement;

2.打开游标

open cursor_name;

3.提取数据

语法一:fetch cursor_name into variable1,variable2...;

语法二:fetch cursor_name bulk collect into collect1,collect2,...[limit rows];

4.关闭游标:

close cursor_name;

游标属性:cursor_name%ISOPEN,cursor_name%FOUND

cursor_name%NOTFOUND,cursor_name%ROWCOUNT

Example 1:

declare

cursor emp_cursor is

select ename,sal from emp where dept=10;

v_ename emp.ename%TYPE;

v_sal emp.sal%TYPE;

begin

open emp_cursor;

loop

fetch emp_cursor into v_ename,v_sal;

exit when emp_cursor%NOTFOUND;

dbms_output.put_line(v_ename||': '||v_sal);

end loop;

close emp_cursor;

end;

Example 2(在显示游标中,使用fetch.. bulk collect into语句提取数据):

declare

cursor emp_cursor is

select ename from emp where deptno=10;

TYPE ename_table_type is TABLE OF VARCHAR2(10);

ename_table ename_table_type;

begin

open emp_cursor;

fetch emp_cursor bulk collect into ename_table;

for i in 1.. ename_table.count loop

dbms_output.put_line(ename_table(i));

end loop;

close emp_cursor;

end;

Example 3:(使用游标属性)

declare

cursor emp_cursor is 

select ename from emp where deptno=10;

TYPE ename_table_type is TABLE OF VARCHAR2(10);

ename_table ename_table_type;

begin

if not emp_cursor%ISOPEN then

open emp_cursor;

end if;

fetch emp_cursor bulk collect into ename_table;

dbms_ouptput.put_line('提取的总计行数:'||emp_cursor%ROWCOUNT);

close emp_cursor;

end;

Example 4:(基于游标定义记录变量)

declare

cursor emp_cursor is select ename,sal from emp;

emp_record emp_cursor%ROWTYPE;

begin

open emp_cursor;

loop

fetch emp_cursor into emp_record;

exit when emp_cursor%NOTFOUND;

dbms_output.put_line('雇员名:'||emp_record.ename

||',雇员工资:'||emp_record.sal);

end loop;

close emp_cursor;

end;

Example 5:(参数游标)
定义参数游标时,游标参数只能指定
数据类型,而不能指定长度,定义参数游标语法如下:
cursor cursor_name(parameter_name datatype) is select_statement;
declare
cursor emp_cursor(no number) is 
select ename from emp where deptno=no;
v_ename emp.ename%type;
begin
open emp_cursor(10);
loop
fetch emp_cursor into v_ename;
exit when emp_cursor%NOTFOUND;
dbms_output.put_line(v_ename);
end loop;
close emp_cursor;
end;

分享到:
评论

相关推荐

    PL/SQL编程(电子版)

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

    oracle实验五 PL/SQL编程

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

    PL/SQL编程技术详解

    详细介绍了PL/SQL编程基础,比如事务控制命令、PL/SQL流程控制,PL/SQL的异常处理,游标的使用,PL、SQL编程对象等。

    PL/SQL编程题大全

    Oracle 数据库中,pl/sql语言编程是Oracle数据库的核心内容,也是重点内容,本文档是pl/sql语言编程的题目。供参考

    PL/SQL程序设计

    PL /SQL是一种高级数据库程序设计语言,该语言专门用于在各种环境下对ORACLE数据库进行访问。...如果使用PL/SQL进行编程,将这种具有大量数据处理的应用放在服务器端来执行。自然就省去了数据在网上的传输时

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

     本书是专门为oracle应用开发人员提供的sql和pl/sql编程指南。通过学习本书,读者不仅可以掌握oracle常用工具oracle universal installer、net comfiguration assistant、sql developer、sql*plus的作用及使用方法...

    PL-SQL编程 介绍

    PL-SQL语法及游标等的简单介绍 第一节 PL/SQL块的组成 第二节 事务控制命令 第三节 PL/SQL流程控制 第四节 游标的使用 第五节 PL/SQL的异常处理 第六节 PL/SQL示例 第七节 PL/SQL编程对象

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

    本书是专门为Oracle应用开发人员提供的SQL和PL/SQL编程指南。通过学习本书,读者不仅可以掌握Oracle常用工具Oracle Universal Installer、Net Comfiguration Assistant、SQL Developer、SQL*Plus的作用及使用方法,...

    PL-SQL编程.ppt

    oracle plsql语言 第一节 PL/SQL块的组成 第二节 事务控制命令 第三节 PL/SQL流程控制 第四节 游标的使用 第五节 PL/SQL的异常处理 第六节 PL/SQL示例 第七节 PL/SQL编程对象

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

     本书是专门为oracle应用开发人员提供的sql和pl/sql编程指南。通过学习本书,读者不仅可以掌握oracle常用工具oracle universal installer、net comfiguration assistant、sql developer、sql*plus的作用及使用方法...

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

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

    Oracle PL SQL

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

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

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

    PL/SQL编程经验小结开发者网络Oracle

    正在看的ORACLE教程是:PL/SQL编程经验小结开发者网络Oracle。平时在PL/SQL中的编程中遇到一些问题,这里以问答的形式来进行把它们总结下来,以供大家分享。 1、当需要向表中装载大量的数据流或者需要处理大量的数据...

    pl sql 编程教学

    PL/SQL块的组成介绍;事务控制命令;PL/SQL流程控制;游标的使用;PL/SQL的异常处理;;PL/SQL示例;PL/SQL编程对象

    PL/SQL 基础.doc

    PL/SQL 基础,一个不错的 PL/SQL 参考手册。内容预览: ---- 第一章 PL/SQL 简介 ---- 1. Oracle应用编辑方法概览 1) Pro*C/C++/... : C语言和数据库打交道的方法,比OCI更常用; 2) ODBC 3) OCI: C语言和...

    Oracle9iPL/SQL编程的经验小结

    正在看的ORACLE教程是:Oracle9iPL/SQL编程的经验小结。平时在PL/SQL中的编程中遇到一些问题,这里以问答的形式来进行把它们总结下来,以供大家分享。 1、当需要向表中装载大量的数据流或者需要处理大量的数据流的...

    Oracle PL-SQL编程详解.pdf

    本⽂⽬录: 1. PL/SQL 程序设计简介 2. PL/SQL块结构和组成元素 3. PL/SQL流程控制语句 4. 把游标说透 5. 异常错误处理 6. 把过程与函数说透 7. 程序包的创建与应⽤ 8. 把触发器说透

    Oracle 11g SQL和PL SQL从入门到精通.part1

     本书是专门为oracle应用开发人员提供的sql和pl/sql编程指南。通过学习本书,读者不仅可以掌握oracle常用工具oracle universal installer、net comfiguration assistant、sql developer、sql*plus的作用及使用方法...

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

     本书是专门为oracle应用开发人员提供的sql和pl/sql编程指南。通过学习本书,读者不仅可以掌握oracle常用工具oracle universal installer、net comfiguration assistant、sql developer、sql*plus的作用及使用方法...

Global site tag (gtag.js) - Google Analytics