Very few databases support transactional DDL, meaning that you can do something like:
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.