> Rollback of DDLs
Oracle can't roll back these (create table/drop index etc)? That really surprises me. Pretty certain MSSQL can, because I've used it. Amazed, actually, that oracle can't.
Oracle can't roll back these (create table/drop index etc)? That really surprises me. Pretty certain MSSQL can, because I've used it. Amazed, actually, that oracle can't.
BEGIN;
DROP TABLE foo;
CREATE TABLE bar (t int);
ROLLBACK;
...and it will just work as you expect. Oracle doesn't, nor does MSSQL.As far as I know, other than Postgres, only Sybase ASE, Informix, DB2 UDB, and Firebird support transaction DDL.
Postgres, SQL Server, Firebird, DB2, SQLite, Ingres, Informix, Teradata, Vertica all support transactional DDL
Postgres gets it right. DDL is contained in the transacrion until commit.