ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 使用游标更新或者删除数据

使用游标更新或者删除数据

原创 Linux操作系统 作者:云江 时间:2009-04-01 16:22:40 0 删除 编辑
摘自:http://space.itpub.net/batch.viewlink.php?itemid=229305
使用游标更新或者删除数据

Syntax:
CUROSR cursor_name(parameter_name datatype)
IS select_statement
FOR UPDATE[OF column_reference] [NOWAIT];
FOR UPDATE 子句用于在游标结果集数据上加行共享锁,以防止其它用户在相应行上执行DML操作;当SELECT 语句引用到多张表时,使用OF子句可以确定哪些表(或者是哪些表里的哪些字段)要加锁,如果没有OF子句,则会在SELECT语句所引用的全部表上加锁。

NOWAIT子句用于指定不等待锁。使用FOR UPDATE 语句对被作用行加锁,如果其它会话已经在被作用行上加锁,那么在默认情况下当前会话要一直等待对方释放锁。通过在FOR UPDATE子句指定NOWAIT子句,可以避免等待锁。当指定NOWAIT子句拉,如果其它会话已经在被作用行加锁,那么当前会话会显示错误提示信息, 并退出PL/SQL块。

在提取了游标数据之后,为了更新或者删除当前游标数据,必须在UPDATE或DELETE语句中引用WHERE CURRENT OF 子句。语法如下:
UPDATE table_name SET column=.. WHERE CURRENT OF cursor_name;
DELETE table_name WHERE CURRENT OF cursor_name;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/65190/viewspace-582743/,如需转载,请注明出处,否则将追究法律责任。

下一篇: BITAND()学习
请登录后发表评论 登录
全部评论

注册时间:2009-03-24

  • 博文量
    18
  • 访问量
    18613