Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Server:Rollback ohne BEGIN TRANSACTION

Um Gerrytans Antwort zu erweitern, wenn Sie IMPLICIT_TRANSACTIONS explizit auf ON setzen, können Sie ein ROLLBACK verwenden. Siehe MSDN-Dokumentation damit zusammenhängend. Beachten Sie, dass dies nicht die standardmäßige Autocommit ist Transaktionsmodus .

Dadurch kann ich eine Anweisung wie;

ausführen
SET IMPLICIT_TRANSACTIONS ON

INSERT INTO my_table (item_type, start_date_time)
VALUES ('TEST', CURRENT_TIMESTAMP)

ROLLBACK

-- Shouldn't return the 'TEST' value inserted above.
SELECT * FROM my_table ORDER BY start_date_time DESC