sql >> Database >  >> RDS >> Oracle

Individuele transacties vastleggen in Oracle PLSQL

Bekijk Autonome transactie . Zie ook demo

CREATE TABLE t (
 test_value VARCHAR2(25));

CREATE OR REPLACE PROCEDURE child_block IS
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
   INSERT INTO t
   (test_value)
   VALUES
   ('Child block insert');
  COMMIT; 
END child_block;
 /

CREATE OR REPLACE PROCEDURE parent_block IS

BEGIN
   INSERT INTO t
   (test_value)
   VALUES
   ('Parent block insert');

    child_block;

    ROLLBACK; 
END parent_block;
 /

Uitvoering:

 -- empty the test table
    TRUNCATE TABLE t;

   -- run the parent procedure
     exec parent_block;

   -- check the results
    SELECT * FROM t; 


  1. Gids voor het ontwerpen van een database voor quiz in MySQL

  2. Hoe MySQL volledig te verwijderen met configuratie- en bibliotheekbestanden?

  3. Kan ik de Postgres-functies gebruiken om punten binnen een roterende rechthoek van vaste grootte te vinden?

  4. Is het conceptueel juist om een ​​SELECT MAX (id) enz. te doen om de laatst ingevoegde rij te vinden?