Middle
Kako funkcionišu transakcije u SQL Serveru?
sobes.tech АИ
Одговор од АИ
U SQL Server-u, transakcija je niz operacija koje se izvršavaju kao celina. Transakcija garantuje svojstva ACID:
- Atomost: sve operacije unutar transakcije ili se u potpunosti izvrše ili se uopšte ne izvrše.
- Doslednost: nakon izvršenja transakcije, baza ostaje u ispravnom stanju.
- Izolacija: paralelne transakcije ne utiču jedna na drugu.
- Trajnost: nakon potvrde, promene ostaju čak i u slučaju padova.
Transakcije počinju sa BEGIN TRANSACTION i završavaju sa COMMIT (potvrđivanjem promena) ili ROLLBACK (povlačenjem promena). SQL Server koristi dnevnik transakcija za obezbeđivanje pouzdanosti i oporavka.
Primer:
BEGIN TRANSACTION;
UPDATE Accounts SET Balance = Balance - 100 WHERE AccountID = 1;
UPDATE Accounts SET Balance = Balance + 100 WHERE AccountID = 2;
IF @@ERROR <> 0
ROLLBACK TRANSACTION;
ELSE
COMMIT TRANSACTION;