1
我努力學習交易DB是如何工作的,併爲此我寫了下面的測試SQL:如何獲取DB2上的當前隔離級別?
SAVEPOINT STOP_HERE ON ROLLBACK RETAIN CURSORS;
INSERT INTO TESTSCHEMA."test" (ID, NAME) VALUES (89898, 'SDFASDFASD');
ROLLBACK TO SAVEPOINT STOP_HERE;
SELECT * FROM TESTSCHEMA."test";
此代碼一行添加到表執行後。但是,如果我添加以下行開頭:
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
所有的工作如我所料,即交易正確回滾和DB沒有新的項目,但如果我運行這段代碼再次數據工作室顯示我的錯誤第一行:
[SQL0428] SQL statement can not be launched.
所以我的問題是: 有沒有一種方法來獲得當前的隔離級別,爲什麼我不能設置隔離級別1倍多?
我會非常感謝所有的答案和鏈接。
PS。我正在使用DB2/iSeries V5R4。
PPS。對不起,我的英文不好
您是否在每個set語句之後執行SQL COMMIT? – 2011-02-09 15:53:30
不,只是在問題 – 2011-02-09 16:07:45