I am trying to utilize transaction functionality in Oracle SQL for the first time and can't seem to find a good explanation. I understand that starting a new session will begin a new transaction. I also understand that commit/rollback is used to end it. What I am trying to do is execute two statements and if I either of them fail, undo any changes they might have made and continue with execution. How can I check for this condition and issue a commit or rollback accordingly?
Use a PL/SQL block and write something like this:
begin statement_zero; savepoint my_savepoint; begin -- if either of these fail, then exception section will be executed statement_one; statement_two; exception when others then rollback to my_savepoint; end; statement_three; commit; end;