db2 如何在SQL中创建具有隔离级别的事务

vm0i2vca  于 2022-11-07  发布在  DB2
关注(0)|答案(2)|浏览(227)

如何在SQL中创建具有隔离级别的事务。
我试过这样的方法,但显然不起作用:

INSERT INTO test(col1) VALUES ('test')
SET TRANSACTION ISOLATION LEVEL read stability;
COMMIT WORK;

我使用的是SQL DB2 LUW

zzwlnbp8

zzwlnbp81#

https://www.ibm.com/docs/en/db2/11.5?topic=information-sqlj-set-transaction-clause表示:
只能在事务开始时执行SET TRANSACTION。
https://www.ibm.com/docs/en/i/7.5?topic=statements-set-transaction表示:
SET TRANSACTION语句只有在它是工作单元中的第一个SQL语句时才能执行,除非:

  • 在工作单元中执行的所有前面的语句都是SET TRANSACTION语句或在隔离级别NC下执行的语句,或者
  • 它在触发器中执行。

我不是DB2的用户,但这似乎是说在INSERT之前必须SET TRANSACTION,这与我在其他RDBMS产品中的经验相符。

相关问题