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

पोस्टग्रेक्ल फ़ंक्शन निष्पादित करते समय लेनदेन करना

यह dblink का उपयोग करके किया जा सकता है। मैंने एक उदाहरण दिखाया है जिसमें एक इंसर्ट किया जा रहा है, आपको अपना लूप लॉजिक जोड़ना होगा और हर लूप को कमिट करना होगा। आप http://www.postgresql.org/docs/9.3/static/contrib-dblink-connect.html

कर सकते हैं
CREATE OR REPLACE FUNCTION log_the_dancing(ip_dance_entry text)
RETURNS INT AS
$BODY$
    DECLARE
    BEGIN
        PERFORM dblink_connect('dblink_trans','dbname=sandbox port=5433 user=postgres');
        PERFORM dblink('dblink_trans','INSERT INTO dance_log(dance_entry) SELECT ' || '''' || ip_dance_entry || '''');
        PERFORM dblink('dblink_trans','COMMIT;');
        PERFORM dblink_disconnect('dblink_trans'); 

        RETURN 0;
    END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;

ALTER FUNCTION log_the_dancing(ip_dance_entry text)
  OWNER TO postgres;

BEGIN TRANSACTION;
  select log_the_dancing('The Flamingo');
  select log_the_dancing('Break Dance');
  select log_the_dancing('Cha Cha');
ROLLBACK TRANSACTION;

--Show records committed even though we rolled back outer transaction
select *
from dance_log;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL - उस पंक्ति को प्राप्त करें जिसमें कॉलम के लिए अधिकतम मान है

  2. डेटा पीढ़ी और हार्डवेयर गुणवत्ता

  3. PostgreSQL डेटाबेस मॉनिटरिंग:मॉनिटर करने के लिए टिप्स

  4. मैं विंडोज़ पर PostgreSQL के लिए केवल क्लाइंट टूल्स कैसे स्थापित करूं?

  5. PostgreSQL तार्किक प्रतिकृति Gotchas