Oracle pl/sql编程 16---游标变量使用游标更新数据库
来源:互联网 发布:出货数据怎么做模板 编辑:程序博客网 时间:2024/05/17 04:29
使用游标或游标变量不但能够对数据进行查询,同样也可以对数据进行更新。使用游标对数据进行更新是指在游标定位下,修改或删除表中指定的数据行。为了实现使用游标更新数据,需要在声明游标的时候使用FOU UPDATE,以便在打开游标时锁定游标结果集与表中对应数据行的所有列和部分列
为了保证正在进行操作的数据不被另外的用户修改,Oracle提供了一个for update选项来对所选择的行进行锁住。使用for update选项后声明游标的语法形式如下:
cursor cursr_name is select语句 for update[of column[,column]] [nowait]
其中,of子句用来指定要锁定的列,如果忽略了of子句,那么表中选择的数据行都将被锁定。如果这些数据行已经被其他用户锁定,那么正常情况下,for update操作会一直等到该用户释放对这些行的锁定后才继续自己的操作。对于这种情况,可使用nowait子句,这时,如果这些行被另一用户的操作锁定,则open 立即返回并给出错误提示。
当使用了 fou update声明游标后,可在delete和update语句中使用where current of子句,修改或删除游标结果集中当前行对应的表中的数据行
where{current of cursor_name|serarch_condition}
declare cursor emp_cursor is select * from emp for update of sal nowait; v_comm number;begin for r in emp_cursor loop if r.sal<3000 THEN update emp set sal=sal+100 where current of emp_cursor; end if; end loop;end;
注意:当在for update子句中使用current of 指定锁定的列后,程序块中的update语句只能更新of指定的列
0 0
- Oracle pl/sql编程 16---游标变量使用游标更新数据库
- Oracle pl/sql编程 15---游标变量
- oracle pl sql 更新游标
- PL/SQL 游标变量
- PL/SQL 游标变量
- PL/SQL 游标变量
- PL/SQL 游标变量
- [oracle编程]pl/sql --标量 复合变量以及游标的简单使用
- Oracle数据库编程:在PL/SQL中使用游标获取数据
- Oracle PL/SQL游标
- oracle pl sql 游标
- oracle pl/sql 游标
- Oracle pl/sql 游标
- PL/SQL中游标和游标变量的使用
- PL/SQL中游标和游标变量的使用
- PL/SQL中游标和游标变量的使用
- PL/SQL中游标和游标变量的使用
- oracle数据库PL/SQL之游标
- Leetcode Set Matrix Zeroes
- linux内核分析之system_call.s
- 申请博客的第一篇文章
- 编程思想之正则表达式
- 数据库事务四种隔离级别
- Oracle pl/sql编程 16---游标变量使用游标更新数据库
- linux常用命令
- Disruptor并发框架
- C++笔试面试遇到的问题
- js函数
- select结合curl处理多个handle
- [BZOJ1620][Usaco2008 Nov]Time Management 时间管理
- Android自定义View
- Linux grep命令正则表达式的常见用法