oracle游标(CURSOR)
来源:互联网 发布:mtk平台驱动源码 编辑:程序博客网 时间:2024/05/21 19:10
PL/SQL包含两种游标:1.显示游标 2.隐式游标
2.FETCH cursor_name BULK COLLECT INTO collect1,collect2,....[LIMIT rows];
(删除)DELETE FROM table_name WHERE CURRENT OF cursor_name; wait:wait 秒数,指当所操作的表被锁定时,等待几秒再执行,若依然是锁定状态,则会抛出异常,可以设置为NOWAIT不需要等待。 OF col:列级锁,使用此锁的列所在的一行记录都被锁定。
显示游标:
语法:CUROSR cursor_name is select_statement;
打开游标:open cursor_name;
提取数据:两种:1.FETCH curosr_name INTO varible1,variable2....;
关闭游标: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;
1.在对 游标进行更行时需要在游标语法后面加上 for update [,WAIT num][,OF col];
解析:for update:表名此游标对所使用的表独占,防止其他人对此表同时操作。
游标变量:
语法:TYPE ref_type_name IS CURSOR [RETURN return_type];创建完类型后要使用需要声明:cursor_name ref_type_name;
打开游标:OPEN cursor_name for select_statement;
使用FETCH取值:与显示游标一样。
关闭游标:与显示游标一样。
语法解析:
[RETURN return_type]:类型限制,只能返回限定的数据类型;
0 0
- 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) 说明
- 你有一颗观察世界的心吗
- ASP.NET MVC 系列之 (依赖注入(DI)和Ninject)
- 政府网站集群建设
- 知名的vision试验室
- 修改文件和目录的默认权限
- oracle游标(CURSOR)
- ORACLE GROUPING_ID函数
- 第三章 函数编程(四)
- WAR文件
- 西安崇皇地区安卓大神【精】
- Git: ssh.exe has stopped working
- 的鬼斧神工灯火辉煌交换机
- PPTV的KEY生成算法
- java实现在线支付