Transactions are one of the features that set a database apart from a file system, its main purpose is to take the database from one consistent state to the next.
Tips : exec NULL to run a Null statement, and get SQL*PLUS to show me the DBMS_OUTPUT information.
Atomic statement : For example, INSERT INTO T fired a trigger that updates another table, and that table has
a trigger that deletes from another table (and so on, and so on) either all of the work succeeds, or none does.
Oracle treated the stored procedure call as an atomic statement(either entirely succeeds, or entirely fails.), but if you add a error handling to the SP(and not raise the exceptions), then we have statement level atomicity within the SP(means that statements could be partial success)
Tips : create table t ( x int unique );insert into t values ( 1 );insert into t values ( 2 );update t set x = x+1;
Tips : exec NULL to run a Null statement, and get SQL*PLUS to show me the DBMS_OUTPUT information.
Atomic statement : For example, INSERT INTO T fired a trigger that updates another table, and that table has
a trigger that deletes from another table (and so on, and so on) either all of the work succeeds, or none does.
Oracle treated the stored procedure call as an atomic statement(either entirely succeeds, or entirely fails.), but if you add a error handling to the SP(and not raise the exceptions), then we have statement level atomicity within the SP(means that statements could be partial success)
Tips : create table t ( x int unique );insert into t values ( 1 );insert into t values ( 2 );update t set x = x+1;