If you insert a row in a table, then create another table and then say Rollback.In this case will the row be inserted ? Thank you in advance.
If you insert a row in a table, then create another table and then say Rollback.In this case will the row be inserted ? Thank you in advance.
According to all the documentation I've read, yes. And that is how it works for me. Any DDL statement does a commit. Any work pending is committed.
Have you tried this and found it does't work as advertised?
DDL always implicitly commits. That's why TRUNCATE can't be undone with a ROLLBACK, b/c it's a DDL vs DML statement.
Some tools use separate sessions to issue/execute commands, so it's possible your INSERT and CREATE are happening in different sessions. Tools that are 'threaded' generally work this way. Applications like SQL*Plus wouldn't exhibit that behavior.
In either case, you should commit or rollback a table change as soon as you make up your mind and definitely before you go do maint work in the system - or at least open up another command-window so you have a dedicated session.
No one has followed this question yet.