It [has been suggested](http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:7072180788422#7084625440626) that DDL is logically performed something like this: begin COMMIT; perform any appropriate pre-DDL trigger code; do the ddl; perform any appropriate post-DDL trigger code; COMMIT; exception when others then ROLLBACK; raise; end; Which would suggest that any error in a trigger would cause the DDL to be rolled back. Is this the case?
The answer, at least on 11.2, is "It depends": This `create table` is rolled back: <>https://dbfiddle.uk/?rdbms=oracle_11.2&fiddle=2dfdc24c2296a9014f6947c902b5ca46 But this `truncate` is not: <>https://dbfiddle.uk/?rdbms=oracle_11.2&fiddle=8f0e71b119b01e441e372e7c218858f7