Oracle游标,存储过程

本文介绍了Oracle数据库中的游标概念,包括静态游标和动态游标的使用,并详细讲解了存储过程,阐述了其作为一组预编译SQL语句集的特性,以及存储过程在提高执行速度、模块化程序设计、安全性等方面的优势。
摘要由CSDN通过智能技术生成

1.游标

游标是SQL的一个内存工作区,由系统或用户以变量的形式定义。游标的作用就是用于临时存储从数据库中提取的数据块。
在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率。
游标有两种类型:显式游标和隐式游标。

隐式游标:一次只能从数据库中提取一行数据。
显式游标:可提取多行数据,对应一个返回结果为多行多列的SELECT语句
DML操作和单行SELECT语句会使用隐式游标,它们是: 
* 插入操作:INSERT。 
* 更新操作:UPDATE。 
* 删除操作:DELETE。 
* 单行查询操作:SELECT ... INTO ...
隐式游标的属性     返回值类型   意义   
SQL%ROWCOUNT    	  整型  	代表DML语句成功执行的数据行数   
SQL%FOUND   		 布尔型 	值为TRUE代表插入、删除、更新或单行查询操作成功   
SQL%NOTFOUND  		 布尔型 	与SQL%FOUND属性返回值相反   
SQL%ISOPEN  		 布尔型 	DML执行过程中为真,结束后为假  
显式游标的属性   返回值类型   	意义   
%ROWCOUNT      		整型  		获得FETCH语句返回的数据行数   
%FOUND             布尔型 	最近的FETCH语句返回一行数据则为真,否则为假   
%NOTFOUND      	   布尔型 	与%FOUND属性返回值相反   
%ISOPEN            布尔型     	游标已经打开时值为真,否则为假 

静态游标

声明语法:cursor 游标名字 is select_statement
--1
declare
cursor c_job 
is select empno,ename,job,sal
   from emp
   where job='MANAGER';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值