`
zhouchaofei2010
  • 浏览: 1106740 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

db2 的 select for update 的lock mode

    博客分类:
  • DB2
阅读更多

DB2  for update 没有加排他锁?

 

select  * from table_name where id='xx' for update  (id是主键,具有主键索引)

 

经测试:如上语句并没有给行加U(update)锁,而是S(共享)锁

 

select  * from table_name where id='xx'

select  * from table_name where id='xx' for update

select  * from table_name where id='xx' for update with CS

如上3条语句效果一样,给查询结果加的都是S锁,1个事务查询到结果,另一个事务仍可以对其查询修改

 

select  * from table_name where id='xx' for update with RR

select  * from table_name where id='xx' for update with RS

如上两条,对查询结果加的是U锁,1个事务查询结果未提交,令一个事务无法对其update操作

 

参考:http://blog.chinaunix.net/uid-20313874-id-299469.html

 

分享到:
评论

相关推荐

    db2命令大全

    - **方法一**:首先通过 `db2 update monitor switches using lock on` 开启锁监控,然后使用 `db2 get snapshot for locks on 数据库名称` 获取锁的快照。最后,可以使用 `db2 "force application (handle id)"` ...

    DB2经典讲解,快速入门db2

    FOR EACH ROW MODE DB2SQL INSERT INTO zjt_tables1 VALUES (SUBSTR(O.tabSchema, 1, 8), SUBSTR(O.tabName, 1, 10)); ``` #### 唯一索引的创建 索引用于提高查询效率。创建唯一索引的命令如下: ```sql CREATE ...

    db2数据库常用命令

    FOR EACH ROW MODE DB2SQL INSERT INTO ZJT_TABLES1 VALUES(SUBSTR(O.TABSCHEMA, 1, 8), SUBSTR(O.TABNAME, 1, 10)); ``` **解释:** 该命令用于创建一个触发器,在删除ZJT_TABLES表中的行时自动执行。 - `CREATE ...

    db2常用命令

    CREATE TRIGGER zjt_tables_del AFTER DELETE ON zjt_tables REFERENCING OLD AS O FOR EACH ROW MODE DB2SQL INSERT INTO zjt_tables1 VALUES (substr(o.tabschema, 1, 8), substr(o.tabname, 1, 10)); ``` - **...

    db2常用命令大全,有说明

    CREATE TRIGGER ZJT_TABLES_DEL AFTER DELETE ON ZJT_TABLES REFERENCING OLD AS O FOR EACH ROW MODE DB2SQL INSERT INTO ZJT_TABLES1 VALUES(SUBSTR(O.TABSCHEMA, 1, 8), SUBSTR(O.TABNAME, 1, 10)); ``` **说明*...

    IBM DB2常用命令集合

    FOR EACH ROW MODE DB2SQL ; ``` - **示例**:创建触发器 `zjt_tables_del`。 ```sql CREATE TRIGGER zjt_tables_del AFTER DELETE ON zjt_tables REFERENCING OLD AS O FOR EACH ROW MODE DB2SQL Insert ...

    DB2常用命令

    CREATE TRIGGER zjt_tables_del AFTER DELETE ON zjt_tables REFERRING OLD AS O FOR EACH ROW MODE DB2SQL INSERT INTO zjt_tables1 VALUES (substr(o.tabSchema, 1, 8), substr(o.tabName, 1, 10)); ``` - **功能...

    DB2数据库常用命令汇集

    FOR EACH ROW MODE DB2SQL INSERT INTO ZJT_TABLES1 VALUES(SUBSTR(O.TABSCHEMA, 1, 8), SUBSTR(O.TABNAME, 1, 10)); ``` **解释:** 创建一个名为`ZJT_TABLES_DEL`的触发器,当在`ZJT_TABLES`表上执行删除操作后,...

    DB2常用命令大全.txt

    - **创建触发器**:`CREATE TRIGGER`命令用于定义在特定事件(如删除操作)发生时执行的触发器,如`CREATE TRIGGER zjt_tables_del AFTER DELETE ON zjt_tables REFERENCING OLD AS O FOR EACH ROW MODE DB2SQL ...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    db2 IBM DB2在企业级的应用最为广泛, 在全球的500家最大的企业中,几乎85%以上用DB2数据库服务器。收费 大型企业 Access 微软 Access是一种桌面数据库,只适合数据量少的应用,在处理少量 数据和单机访问的数据库时...

    SQL语法大全

    EditMode 只读 只读 只读 只读 EOF 只读 只读 只读 只读 Filter 可读写 可读写 可读写 可读写 LockType 可读写 可读写 可读写 可读写 MarshalOptions 可读写 可读写 可读写 可读写 MaxRecords 可读写 可读写 可读写 ...

Global site tag (gtag.js) - Google Analytics