PL/SQL游标描述
来源:互联网 发布:网络推广股票 编辑:程序博客网 时间:2024/05/16 12:06
游标示意图:
游标的类型分为:隐式游标,显式游标,REF游标。
游标的属性:%FOUND,%NOTFOUND,%ROWCOUNT,%ISOPEN
常见的异常:NO_DATA_FOUND,TOO_MANY_ROWS,其他的为others
隐式游标:在使用DML语句时自动创建,自动打开、关闭游标,其名为SQL;
我们可以使用for循环来对游标进行隐式处理。For循环中变量v_test不需要在声明部分声明,它由PLSQL编译器进行隐式的声明。并且for循环开始的时候,游标也就隐式地打开了。
显式游标:在PL/SQL语句中定义的游标称为显式游标。显式游标处理需如下步骤:
a) cursor 游标名 is 查询语句(申明游标);
b) open 游标名(打开游标);
c) fetch 游标名 in--游标的当前记录已被隐式地提取给变量 v_testto 变量名(提取行);
d) close 游标名(关闭游标)。
带参数的显式游标:游标的参数,只能接受传递的值,而不能返回值,参数只定义数据类型,没有大小。可以给参数赋一个缺省值
REF游标:用于处理运行时动态执行的SQL语句。创建REF游标需要以下两个步骤:
a) 申明REF游标类型;
b) 申明REF游标类型的变量。
游标修改和删除操作:
游标修改和删除操作是指在游标定位下,修改或删除表中指定的数据行。这时,要求游标查询语句中必须使用for update选项。 为了对正在处理(查询)的行不被另外的用户改动,oracle提供一个for update子句来对所有选择的行进行锁定,该需求迫使oracle锁定游标结果集合的行,可以防止其他事务处理更新或删除相同的行,直到您的事务处理提交或回退为止。
语法:
Select…from..for update [of column[,column]…][nowait]
如果另一个会话已对活动集中行加了锁,那么select for update操作一直等待到其它的会话释放这些锁后才继续自己的操作,对于这种情况,当加上nowait子句时,如果这些行真的被另一个会话锁定,则open立即返回并给出:ora-0054:resource busy and acquire with nowait specified。如果使用for update声明游标,则可在delete和update语句中使用where current of cursor_name 子句,修改或删除游标结果集合当前行对应的数据表中数据行。
- PL/SQL游标描述
- PL/SQL游标
- PL/SQL中的游标
- PL/SQL游标
- Oracle PL/SQL游标
- PL/SQL:游标
- PL/SQL游标总结
- 初学PL/SQL 游标
- PL/SQL --> 游标
- PL/SQL游标使用
- PL/SQL 游标变量
- pl/sql游标
- PL/SQL 游标变量
- PL/SQL游标
- PL/SQL游标使用
- PL/SQL游标使用
- oracle pl sql 游标
- PL/SQL游标
- js定义方式
- 开源和免费引擎
- 关于英语的 呵呵
- 高薪QA之我见(Part I)
- js数组去掉重复的元素
- PL/SQL游标描述
- 插入排序法(InsertSort)c++实现 ZT
- js数组删除元素
- pku1195 二维树状数组
- S2SH中web.xml的配置
- Fedora“网卡无法自动激活”的解决办法
- 开
- ORACLE中使用decode实现行转列以及使用case通用的行转列
- iptables 配置端口映射例子