转载http://hanjiangduqiao.blog.163.com/blog/static/613105442011431111153601
使用select for update 语句可以使用行锁锁定你要更改的记录.当遇到下一个commit和rollback语句时会被释放.
The Select For Update statement allows you to lock the records in the cursor result set. You are not required to make changes to the records in order to use this statement. The record locks are released when the next commit or rollback statement is issued.
语法如下:The syntax for the Select For Update is:
CURSOR cursor_name
IS
select_statement
FOR UPDATE [of column_list] [NOWAIT];
当你要使用游标进行更新和删除操作时,则需要使用where current of 语句,这个是标示出当前游标的位置.
If you plan on updating or deleting records that have been referenced by a select for update statement, you can use the Where Current Of statement.
语法如下:The syntax for the Where Current Of statement is either:
UPDATE table_name
SET set_clause
WHERE CURRENT OF cursor_name;
OR
DELETE FROM table_name
WHERE CURRENT OF cursor_name;
在这时的例子中我采用上面所建的test表来试验.
2.1 更新.
SQL> DECLARE
2 CURSOR test_cur IS SELECT * FROM test
3 FOR UPDATE OF sal;
4 BEGIN
5 FOR test_rec IN test_cur LOOP
6 UPDATE test
7 SET sal = test_rec.sal +1
8 WHERE CURRENT OF test_cur;
9 END LOOP;
10 COMMIT;
11 END;
12 /
PL/SQL 过程已成功完成。
2.2 删除.
SQL> DECLARE
2 CURSOR test_cur IS select * from test for update;
3 BEGIN
4 FOR test_rec IN test_cur LOOP
5 DELETE FROM test WHERE CURRENT OF test_cur;
6 END LOOP;
7 END;
8 /
PL/SQL 过程已成功完成。
文中的游标只是简单的使用,在记录到pl/sql详细编程的时候会再讲到时会结合oracle的执行计划并一起讨论它们的执行效率.
注:文中的英文注解部分出自:http://www.techonthenet.com/oracle/cursors/current_of.php
/
相关推荐
oracle游标的总结oracle游标的总结oracle游标的总结oracle游标的总结oracle游标的总结oracle游标的总结oracle游标的总结oracle游标的总结oracle游标的总结
oracle 游标FOR循环
ORACLE 游标使用示例,给大家可以共享一下。
Oracle游标的一般使用
oracle游标使用大全,详细描述了如何使用游标,创建游标等等
oracle游标优化以及oracle游标的作用和游标的概念。
详细的oracle游标用法,简单易懂,是学习游标的好材料
Oracle游标使用方法及语法大全.doc
oracle游标 详解 精析 示例 真正能把游标讲透、说全、调理清晰的讲义。 游标犹如C语言的指针:灵活、实用、高效。 游标实际上是一种能从包括多条数据...游标是一个通过定义语句与一条Select语句相关联的一组SQL语句。
Oracle 游标! 值得下载看看!资源免费,大家分享!!
Oracle游标使用方法及语法大全
主要描述oracle中游标的学习隐式游标和显示游标
详细介绍了 oracle的游标使用 及 实例
关于游标使用问题的练习附答案。游标分隐式和显示游标;动态和ref游标。。。
oracle游标使用大全,其中有很多例子,有助于大家理解,希望对初学者有帮助
简单的oracle游标使用小例子~~ 一份文档,实验用的。
游标是存储过程最基本的要会的,用于访问 ORACLE 数据库的 DDL 和 TCL 语
Oracle 游标使用大全