Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Oracle 11 - sqlplus - Rollback des gesamten Skripts bei Fehler - wie?

Ich habe das Problem gelöst und poste die Lösung zurück, falls jemand auf ein solches Problem stößt.

Wenn ich keine DDL-Befehle in das Skript einfüge, wird das Rollback korrekt ausgeführt.

Also das Skript:

set autocommit off
whenever SQLERROR EXIT ROLLBACK

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

insert into a values ('x');

commit;

funktioniert.

Und wenn DDL verwendet wird, bietet Oracle im Allgemeinen keine Rollback-Funktionalität.