サーチ…


備考

トランザクションは、1つまたは複数のステップを含む作業の論理単位です。各ステップは、トランザクションがデータベースにコミットするために正常に完了する必要があります。エラーがあると、すべてのデータ変更が消去され、データベースはトランザクションの開始時に初期状態にロールバックされます。

簡易取引

BEGIN TRANSACTION
    INSERT INTO DeletedEmployees(EmployeeID, DateDeleted, User)
        (SELECT 123, GetDate(), CURRENT_USER);
    DELETE FROM Employees WHERE EmployeeID = 123;
COMMIT TRANSACTION

ロールバック取引

トランザクションコードで何かが失敗し、元に戻す場合は、トランザクションをロールバックすることができます。

BEGIN TRY
    BEGIN TRANSACTION
        INSERT INTO Users(ID, Name, Age)
        VALUES(1, 'Bob', 24)
        
        DELETE FROM Users WHERE Name = 'Todd'
   COMMIT TRANSACTION
END TRY
BEGIN CATCH
   ROLLBACK TRANSACTION
END CATCH


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow