Una transazione è un'unità di lavoro eseguita su un database, che per essere propagata sul database, deve essere valida nella sua interezza.
In pratica, si vuole controllare che una serie di operazioni vengano eseguite tutte, mantenendo la coerenza dei dati.
Le operazioni di una transazione hanno 4 proprietà che prendono l'acronimo di ACID
Il comando COMMIT è il comando transazionale usato per salvare le modifiche invocate da una transazione al database
Il comando ROLLBACK è il comando transazionale utilizzato per annullare le operazioni che non siano già stati salvati nel database.
Prendiamo in esame la tabella TabellaSocieta così strutturata
Societa | NumeroOrdini |
---|---|
Microsoft | 3412 |
Oracle | 2312 |
Microsoft | 4678 |
HP | 6798 |
Ed eseguiamo il seguente comando
BEGIN TRANSACTION
DELETE
FROM Tabella_Societa
WHERE NumeroOrdini < 5000
ROLLBACK
Al termine della transazione il risultato della select sulla tabella è il seguente
Societa | NumeroOrdini |
---|---|
Microsoft | 3412 |
Oracle | 2312 |
Microsoft | 4678 |
HP | 6798 |
Se invece eseguiamo il COMMIT
BEGIN TRANSACTION
DELETE
FROM Tabella_Societa
WHERE NumeroOrdini < 5000
COMMIT
Otterremo il seguente risultato
Societa | NumeroOrdini |
---|---|
HP | 6798 |