Junior — Middle
Ar galite paaiškinti, kas suprantama kaip sandoris SQL kontekste ir kaip jis veikia?
sobes.tech AI
Atsakymas iš AI
SQL kontekste, transakcija yra operacijų seka su duomenų baze, kuri vykdoma kaip viena visuma. Transakcija užtikrina, kad arba visos jos operacijos bus sėkmingai įvykdytos, arba nė viena jų neturės įtakos duomenų bazei (atomingumas).
Pagrindinės transakcijų savybės (ACID):
- Atingumas: visos operacijos transakcijos viduje arba visiškai įvykdomos, arba visai ne.
- Nuoseklumas: po transakcijos įvykdymo duomenų bazė lieka teisingoje būklėje.
- Izoliacija: paralelios transakcijos neveikia viena kitos.
- Ilgaamžiškumas: po transakcijos patvirtinimo, pakeitimai išlieka net ir gedimų atveju.
Pavyzdys, kaip naudoti transakciją SQL:
BEGIN TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;
Jei įvyksta klaida, galima vykdyti ROLLBACK; — tada pakeitimai atšaukiami.