Benutzer mit den meisten Antworten
sqlserver automatically closes open transaction on error

Frage
-
Hallo NG,
folgendes Szenario:
create table test (dummy integer)
goSET IMPLICIT_TRANSACTIONS ON
goBEGIN TRAN
goinsert into test values ('1')
goinsert into test values ('2')
goinsert into test values ('X')
go
--> produces error and obviously rollback the transaction
--> but we want to ignore this rowinsert into test values ('4')
goCOMMIT TRAN
goSET IMPLICIT_TRANSACTIONS OFF
goselect * from test
go
-- we expect 3 rows (1,2,4), but we get only on row (4)drop table test
gower kann mir hier weiterhelfen?Danke und Gruss Olaf Thon
Antworten
-
- Als Antwort markiert Robert BreitenhoferModerator Montag, 7. Februar 2011 09:55
-
wer kann mir hier weiterhelfen?
Danke und Gruss Olaf Thon
Hallo Olaf,- Insert '1' startet die erste implizite Transaction.
- Insert '2' wird in der ersten Transaction ausgeführt.
- Insert 'X' wird in der ersten Transaction ausgeführt.
Insert 'X' schlägt fehl, weil 'X' in int nicht umgewandelt werden kann.
Die erste Transaction wird mit Rollback beendet, alle Datenänderungen werden zurückgerollt. - Insert '4' startet die zweite implizite Transaction.
- Commit macht alle Datenäderungen der zweiten impliziten Transaction permanent.
SET IMPLICIT_TRANSACTIONS (Transact-SQL)
Gruß Yury- Als Antwort markiert Robert BreitenhoferModerator Montag, 7. Februar 2011 09:55
Alle Antworten
-
- Als Antwort markiert Robert BreitenhoferModerator Montag, 7. Februar 2011 09:55
-
wer kann mir hier weiterhelfen?
Danke und Gruss Olaf Thon
Hallo Olaf,- Insert '1' startet die erste implizite Transaction.
- Insert '2' wird in der ersten Transaction ausgeführt.
- Insert 'X' wird in der ersten Transaction ausgeführt.
Insert 'X' schlägt fehl, weil 'X' in int nicht umgewandelt werden kann.
Die erste Transaction wird mit Rollback beendet, alle Datenänderungen werden zurückgerollt. - Insert '4' startet die zweite implizite Transaction.
- Commit macht alle Datenäderungen der zweiten impliziten Transaction permanent.
SET IMPLICIT_TRANSACTIONS (Transact-SQL)
Gruß Yury- Als Antwort markiert Robert BreitenhoferModerator Montag, 7. Februar 2011 09:55