sql >> Database teknologi >  >> RDS >> Oracle

Rollback databaseændringer ved hjælp af implicitte lagringspunkter? - Oracle

Du kan bruge et SAVEPOINT som beskrevet på Sådan forpligter du, TILBAGE Oracle-transaktioner a> .

Her er SAVEPOINT-uddraget fra det...

SAVEPOINT

Specify a point in a transaction to which later you can roll back.

Example

insert into emp (empno,ename,sal) values (109,’Sami’,3000);
savepoint a;
insert into dept values (10,’Sales’,’Hyd’);
savepoint b;
insert into salgrade values (‘III’,9000,12000);

Now if you give

rollback to a;

Then  row from salgrade table and dept will be roll backed. Now you can commit the row inserted into emp table or rollback the transaction.

If you give

rollback to b;

Then row inserted into salgrade table will be roll backed. Now you can commit the row inserted into dept table and emp table or rollback to savepoint a or completely roll backed the transaction.

If you give

rollback;

Then the whole transactions is roll backed.

If you give

commit;

Then the whole transaction is committed and all savepoints are removed.


  1. Overtrædelse af begrænsning ved vedvarende One To Many-relation

  2. JPA - Ingen Persistence-udbyder for EntityManager ved navn {{NAME_HERE}}

  3. mysql resultset er altid null

  4. Opret og importer mysql-database på delt vært i php