So erhalten Sie aktuelle Isolationsstufe auf DB2?

Ich versuche zu lernen, wie Transaktionen Arbeit in der DB und dazu schrieb ich den folgenden test-SQL:

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";

Nach der Ausführung dieser code die eine Zeile in die Tabelle eingefügt. Aber wenn ich fügen Sie die folgende Zeile am Anfang:

SET TRANSACTION ISOLATION LEVEL READ COMMITTED;

alle arbeiten, wie ich es erwartet habe, d.h. die Transaktion korrekt zurückgesetzt und es werden keine neuen Einträge in der DB, aber wenn ich diesen code ausführen wieder die Daten Studio zeigt mir Fehler in der ersten Zeile:

[SQL0428] SQL statement can not be launched.

Also meine Fragen sind:
Gibt es eine Möglichkeit zum abrufen der aktuellen Isolationsstufe und warum kann ich nicht set isolation level mehr als 1 mal?

Wäre ich sehr dankbar für alle Antworten und links.

PS. Ich bin mit DB2/iSeries V5R4.

PPS. Sorry für mein schlechtes Englisch

Machst du SQL COMMIT nach jeder Ihrer set-Anweisungen?
Nein, nur SQL gepostet, dass ich im Körper von Frage
Für den Fahrer, versuchen, getDefaultTransactionIsolation().

InformationsquelleAutor Andriy Petrivskyy | 2011-02-09

Schreibe einen Kommentar