Freigeben über


Implizite Transact-SQL-Transaktionen

DB-Library-Anwendungen und Transact-SQL-Skripts verwenden die SET IMPLICIT_TRANSACTIONS ON-Anweisung von Transact-SQL, um den impliziten Transaktionsmodus zu starten. Verwenden Sie die SET IMPLICIT_TRANSACTIONS OFF-Anweisung, um den impliziten Transaktionsmodus zu deaktivieren. Verwenden Sie die COMMIT TRANSACTION-, COMMIT WORK-, ROLLBACK TRANSACTION- oder ROLLBACK WORK-Anweisungen, um jede einzelne Transaktion zu beenden.

SET QUOTED_IDENTIFIER OFF;
GO
SET NOCOUNT OFF;
GO
USE AdventureWorks2008R2;
GO
CREATE TABLE ImplicitTran
    (Cola int PRIMARY KEY,
    Colb char(3) NOT NULL);
GO
SET IMPLICIT_TRANSACTIONS ON;
GO
-- First implicit transaction started by an INSERT statement.
INSERT INTO ImplicitTran VALUES (1, 'aaa');
GO
INSERT INTO ImplicitTran VALUES (2, 'bbb');
GO
-- Commit first transaction.
COMMIT TRANSACTION;
GO
-- Second implicit transaction started by a SELECT statement.
SELECT COUNT(*) FROM ImplicitTran;
GO
INSERT INTO ImplicitTran VALUES (3, 'ccc');
GO
SELECT * FROM ImplicitTran;
GO
-- Commit second transaction.
COMMIT TRANSACTION;
GO
SET IMPLICIT_TRANSACTIONS OFF;
GO