Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Interrompe la transazione corrente ed elimina tutti gli aggiornamenti apportati da quella transazione.
Questo comando esegue la stessa funzione del comando ABORT.
Sintassi
ROLLBACK [ WORK | TRANSACTION ]
Parametri
- WORK
-
Parola chiave facoltativa. Questa parola chiave non è supportata all'interno di una procedura archiviata.
- TRANSACTION
-
Parola chiave facoltativa. WORK e TRANSACTION sono sinonimi. Nessuno dei due è supportato all'interno d una procedura archiviata.
Per informazioni sull'utilizzo di ROLLBACK all'interno di una procedura guidata, consultare Gestione delle transazioni.
Esempio
L'esempio seguente crea una tabella quindi avvia una transazione in cui i dati vengono inseriti nella tabella. Il comando ROLLBACK esegue quindi il rollback dell'inserimento dei dati per lasciare vuota la tabella.
Il seguente comando crea una tabella di esempio chiamata MOVIE_GROSS:
create table movie_gross( name varchar(30), gross bigint );
Il prossimo set di comandi avvia una transazione che inserisce due righe di dati nella tabella:
begin;
insert into movie_gross values ( 'Raiders of the Lost Ark', 23400000);
insert into movie_gross values ( 'Star Wars', 10000000 );
Successivamente, il seguente comando seleziona i dati dalla tabella per mostrare che è stato inserito:
select * from movie_gross;
L'output del comando mostra che entrambe le righe sono inserite:
name | gross
-------------------------+----------
Raiders of the Lost Ark | 23400000
Star Wars | 10000000
(2 rows)
Questo comando esegue ora il rollback delle modifiche dei dati dove è iniziata la transazione:
rollback;
Selezionando i dati dalla tabella ora mostra una tabella vuota:
select * from movie_gross;
name | gross
------+-------
(0 rows)