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 update monitor switches using lock on` 开启锁监控,然后使用 `db2 get snapshot for locks on 数据库名称` 获取锁的快照。最后,可以使用 `db2 "force application (handle id)"` ...
FOR EACH ROW MODE DB2SQL INSERT INTO zjt_tables1 VALUES (SUBSTR(O.tabSchema, 1, 8), SUBSTR(O.tabName, 1, 10)); ``` #### 唯一索引的创建 索引用于提高查询效率。创建唯一索引的命令如下: ```sql CREATE ...
FOR EACH ROW MODE DB2SQL INSERT INTO ZJT_TABLES1 VALUES(SUBSTR(O.TABSCHEMA, 1, 8), SUBSTR(O.TABNAME, 1, 10)); ``` **解释:** 该命令用于创建一个触发器,在删除ZJT_TABLES表中的行时自动执行。 - `CREATE ...
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)); ``` - **...
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)); ``` **说明*...
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 ...
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)); ``` - **功能...
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`表上执行删除操作后,...
- **创建触发器**:`CREATE TRIGGER`命令用于定义在特定事件(如删除操作)发生时执行的触发器,如`CREATE TRIGGER zjt_tables_del AFTER DELETE ON zjt_tables REFERENCING OLD AS O FOR EACH ROW MODE DB2SQL ...
db2 IBM DB2在企业级的应用最为广泛, 在全球的500家最大的企业中,几乎85%以上用DB2数据库服务器。收费 大型企业 Access 微软 Access是一种桌面数据库,只适合数据量少的应用,在处理少量 数据和单机访问的数据库时...
EditMode 只读 只读 只读 只读 EOF 只读 只读 只读 只读 Filter 可读写 可读写 可读写 可读写 LockType 可读写 可读写 可读写 可读写 MarshalOptions 可读写 可读写 可读写 可读写 MaxRecords 可读写 可读写 可读写 ...