oracle游标(CURSOR)
来源:互联网 发布:淘宝店铺怎么升级天猫 编辑:程序博客网 时间:2024/05/16 16:58
PL/SQL包含两种游标:1.显示游标 2.隐式游标
显示游标:
语法:CUROSR cursor_name is select_statement;
打开游标:open cursor_name;
提取数据:两种:1.FETCH curosr_name INTO varible1,variable2....;
2.FETCH cursor_name BULK COLLECT INTO collect1,collect2,....[LIMIT rows];
关闭游标:CLOSE cursor_name;
显示游标属性:
1.%ISOPEN:该属性用于确定游标是否已经打开。如果打开,返回true, 否则返回false;2.%FOUND:该属性检查是否从数据集中提取到了数据。有数据为true,反之为false;
3.%NOTFOUND:与%FOUND相反。
4.%ROWCOUNT:返回当前行为已经提取到的实际行数。
注意:1.当用FETCH已经取到游标的末尾时,再对游标进行取值,游标会返回结果集中的最后一条记录,因为,当游标再结果集中取不到值时会返回给用户游标缓冲区的内容(也就是结果集中的最后一条记录);
2.以上的属性只针对于游标的当前状态。
3.之前的嵌套表、变长数组的使用都是需要初始化的,这里注意的是:当在显示游标中使用FETCH语句对嵌套表或变长数组赋值时,是不需要初始化大小的。
参数游标:
语法:CURSOR cursor_name(parameter_name datatype)IS select_statement;
1.对于游标的参数可以使用DEFAULT关键字对参数设置默认值,调用时若不给此参数传值,则会调用默认值。
2.对参数游标进行取值时只能用FETCH(一般的游标,可以使用for遍历取值);
使用游标更新或删除数据:
语法:(更新)UPDATE table_name SET column=.. WHERE CURRENT OF cursor_name;
(删除)DELETE FROM table_name WHERE CURRENT OF cursor_name;
1.在对 游标进行更行时需要在游标语法后面加上 for update [,WAIT num][,OF col];
解析:for update:表名此游标对所使用的表独占,防止其他人对此表同时操作。
wait:wait 秒数,指当所操作的表被锁定时,等待几秒再执行,若依然是锁定状态,则会抛出异常,可以设置为NOWAIT不需要等待。
OF col:列级锁,使用此锁的列所在的一行记录都被锁定。
游标变量:
语法:TYPE ref_type_name IS CURSOR [RETURN return_type];创建完类型后要使用需要声明:cursor_name ref_type_name;
打开游标:OPEN cursor_name for select_statement;
使用FETCH取值:与显示游标一样。
关闭游标:与显示游标一样。
语法解析:
[RETURN return_type]:类型限制,只能返回限定的数据类型;
- oracle cursor 游标
- oracle cursor 游标(转载)
- Oracle 游标 Cursor 使用
- oracle 游标(cursor)
- oracle游标(CURSOR)
- Oracle Cursor 游标
- oracle 游标cursor详解
- oracle cursor游标总结
- ORACLE CURSOR 游标详解
- oracle游标(CURSOR)
- Oracle cursor 游标
- ORACLE中的游标Cursor总结
- Oracle中cursor(游标)总结
- Oracle Cursor游标自身更新
- Oracle中Cursor游标介绍
- Oracle 游标(cursor) 说明
- Oracle 游标(cursor) 说明
- Oracle 游标(cursor) 说明
- hadoop 学习之Map/Reduce
- PLSQL常识
- Oracle复合数据类型示例
- Oracle函数和存储过程的区别
- Java基础14-集合List
- oracle游标(CURSOR)
- 游戏开发笔记十三 游戏输入消息处理(二) 鼠标消息处理
- 进程的虚拟地址空间,堆栈、堆、数据段、代码段
- 多继承中虚函数的定义与应用
- 如何读取COLDFUSION的APPLICATION所有变量值
- 过程与函数
- cocos2d-x游戏实例(26)-简易动作游戏(4)
- 互信息 Mutual Information
- use update cache to synchronize the part in the cache with the library