PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Transaksi bersarang di postgresql 8.2?

Anda memiliki kemungkinan untuk menggunakan transaksi bersarang di dalam postgresql menggunakan SavePoints.

Ambil contoh kode ini:

CREATE TABLE t1 (a integer PRIMARY KEY);

CREATE FUNCTION test_exception() RETURNS boolean LANGUAGE plpgsql AS
$$BEGIN
   INSERT INTO t1 (a) VALUES (1);
   INSERT INTO t1 (a) VALUES (2);
   INSERT INTO t1 (a) VALUES (1);
   INSERT INTO t1 (a) VALUES (3);
   RETURN TRUE;
EXCEPTION
   WHEN integrity_constraint_violation THEN
      RAISE NOTICE 'Rollback to savepoint';
      RETURN FALSE;
END;$$;

BEGIN;

SELECT test_exception();
NOTICE:  Rollback to savepoint
 test_exception 
----------------
 f
(1 row)

COMMIT;

SELECT count(*) FROM t1;
 count 
-------
     0
(1 row)

Mungkin ini akan sedikit membantu Anda.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgREST / PostgreSQL Tidak dapat memperbesar pesan buffer string

  2. org.postgresql.util.PSQLException:Objek Besar tidak boleh digunakan dalam mode komit otomatis

  3. node-postgres dengan sejumlah besar kueri

  4. Membuat Database PostgreSQL

  5. Cadangan desain database PostgreSQL - tanpa data