ROLLBACK
Interrompe a transação atual e descarta todas as atualizações feitas por essa transação.
Este comando executa a mesma função que o comando ABORT.
Sintaxe
ROLLBACK [ WORK | TRANSACTION ]
Parâmetros
- WORK
-
Palavra-chave opcional. Essa palavra-chave não é permitida em um procedimento armazenado.
- TRANSACTION
-
Palavra-chave opcional. WORK e TRANSACTION são sinônimos. Nenhuma delas é permitida em um procedimento armazenado.
Para obter informações sobre como usar ROLLBACK em um procedimento armazenado, consulte Gerenciamento de transações.
Exemplo
O exemplo a seguir cria uma tabela, depois inicia uma transação com a inserção de dados na tabela. O comando ROLLBACK então reverte a inserção de dados para deixar a tabela vazia.
O comando a seguir cria uma tabela de exemplo denominada MOVIE_GROSS:
create table movie_gross( name varchar(30), gross bigint );
O próximo conjunto de comandos inicia uma transação que insere duas linhas de dados na tabela:
begin; insert into movie_gross values ( 'Raiders of the Lost Ark', 23400000); insert into movie_gross values ( 'Star Wars', 10000000 );
Depois, o comando seleciona os dados da tabela para mostrar que eles foram inseridos com êxito:
select * from movie_gross;
A saída do comando mostra que ambas as linhas foram inseridas com êxito:
name | gross -------------------------+---------- Raiders of the Lost Ark | 23400000 Star Wars | 10000000 (2 rows)
Agora este comando reverte as alterações de dados para onde a transação foi iniciada:
rollback;
Selecionar dados na tabela agora exibe uma tabela vazia:
select * from movie_gross; name | gross ------+------- (0 rows)