Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да извършите отделна транзакция в Oracle PLSQL

Разгледайте Автономна трансляция . Вижте също демонстрация

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;
 /

Изпълнение:

 -- empty the test table
    TRUNCATE TABLE t;

   -- run the parent procedure
     exec parent_block;

   -- check the results
    SELECT * FROM t; 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle:експортирайте таблица с blobs в .sql файл, който може да бъде импортиран отново

  2. Oracle SQL -- премахване на частичен дубликат от низ

  3. Продължавайте да получавате ORA-00933:SQL командата не е приключила правилно

  4. PL/SQL максимален размер на VARRAY

  5. CX_Oracle - импортирайте данни от Oracle в рамка с данни на Pandas