161⟩ What Happens to the Current Transaction If a DDL Statement Is Executed?
If a DDL statement is executed, the current transaction will be committed and ended. All the database changes made in the current transaction will become permanent. This is called an implicit commit by a DDL statement. The following tutorial exercise shows you that the CREATE TABLE statement forced the current transaction to be committed and ended. The subsequent ROLLBACK statement has no effects on the closed transaction.
SQL> connect HR/globalguideline
SQL> INSERT INTO ggl_links (url, id)
2 VALUES ('oracle.com', 112);
SQL> INSERT INTO ggl_links (url, id)
2 VALUES ('sql.com', 113);
SQL> CREATE TABLE ggl_temp AS (SELECT * FROM ggl_links);
Table created.
SQL> ROLLBACK;
Rollback complete.
SQL> SELECT * FROM ggl_links;
ID URL NOTES COUNTS CREATED------- ---------------- ---------- ---------- ---------
101 rendc.org 07-MAY-06
110 rendc.org/html 07-MAY-06
112 oracle.com 07-MAY-06
113 sql.com 07-MAY-06