暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

如何在其他Session跳过被锁定的记录

原创 eygle 2005-03-04
427
有人问到这样的问题:如果一个用户对记录加锁,如何使其他用户看不到这条记录。

此前并未注意到这样一个用法(需要8.1.7.4.16以上的版本支持):




[oracle@jumper oracle]$ sqlplus scott/tiger
SQL*Plus: Release 9.2.0.4.0 - Production on Fri Mar 4 11:59:46 2005
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning option
JServer Release 9.2.0.4.0 - Production
SQL> select * from dept;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
33 ORACLE beijing
35 Oracle Beijing
36 Oracle Beijing
37 Oracle Beijing
8 rows selected.
SQL> select * from dept where deptno =10 for update;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
SQL> !
[oracle@jumper oracle]$ sqlplus scott/tiger
SQL*Plus: Release 9.2.0.4.0 - Production on Fri Mar 4 12:00:14 2005
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning option
JServer Release 9.2.0.4.0 - Production
SQL> select * from dept for update skip locked;
DEPTNO DNAME LOC
---------- -------------- -------------
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
33 ORACLE beijing
35 Oracle Beijing
36 Oracle Beijing
37 Oracle Beijing
7 rows selected.
SQL>
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论