Szukaj…


Uwagi

Transakcja to logiczna jednostka pracy zawierająca jeden lub więcej kroków, z których każdy musi zakończyć się pomyślnie, aby transakcja mogła zostać zatwierdzona w bazie danych. Jeśli wystąpią błędy, wszystkie modyfikacje danych zostaną usunięte, a baza danych zostanie przywrócona do stanu początkowego na początku transakcji.

Prosta transakcja

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

Transakcja wycofania

Gdy coś zawiedzie w kodzie transakcji i chcesz go cofnąć, możesz wycofać swoją transakcję:

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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow