PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

Postgresql 8.2 में नेस्टेड लेनदेन?

वैसे आपके पास SavePoints का उपयोग करके postgresql के अंदर नेस्टेड लेनदेन का उपयोग करने की संभावना है।

इस कोड का उदाहरण लें:

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)

शायद इससे आपको थोड़ी मदद मिलेगी।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. फ़ंक्शन से लौटाए गए रिकॉर्ड में कॉलम जुड़े हुए हैं

  2. PostgreSQL चयन क्वेरी में कॉलम की अधिकतम संख्या क्या है

  3. FATAL:रोल रूट मौजूद नहीं है

  4. जेनरेट की गई तालिका का पंक्ति प्रतिनिधित्व कैसे प्राप्त करें?

  5. PostgreSQL में उच्च उपलब्धता का प्रबंधन - भाग II:प्रतिकृति प्रबंधक