Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Oracle 11 - sqlplus - reverta todo o script em erro - como?


Resolvi o problema e posto de volta a solução caso alguém encontre um problema desse tipo.

Se eu não colocar comandos DDL no script, a reversão será executada corretamente.

Então o roteiro:
set autocommit off
whenever SQLERROR EXIT ROLLBACK

insert into a values (1);
insert into a values (2);

insert into a values ('x');

commit;

funciona.

E se o DDL for usado, em geral, o Oracle não fornecerá a funcionalidade de reversão.