Für Insider
An alle Oracle-Anfänger:
José hat recht.
Für den Rest:
José hat nicht Recht - für den Enduser macht dies aber keinen Unterschied.
Tatsache ist, das DDL-Befehle (vom System) sehr wohl zurückgerollt werden können. Um dies zu verstehen muss man die Frage stellen, was bei einem DDL-Befehl eigentlich passiert. Antwort : Es gibt viele Änderungen im Data Dictionary(tab$,fet$,uet$) - also viele DMLs.
Diese DMLs werden von Oracle entweder automatisch zurückgerollt (wenn es irgend ein Problem gab) oder mit einem Commit bestätigt (wenn alles glatt ging). Um im Fehlerfall nicht auch noch all jene Änderungen, die vor dem DDL-Befehl abgesetzt wurden, rückgängig zu machen setzt Oracle vor der Durchführung des DDL-Befehls ein implizites Commit. Wenn man dies weiss und sich entsprechend verhält, ist man also auf der sicheren Seite.
Gruß der Janus