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

पंक्तियों की PL/pgSQL सरणी

आधुनिक समय के पोस्टग्रेएसक्यूएल के साथ आप ऐसे फ़ंक्शन को सरल बना सकते हैं।
टेस्ट सेटअप:

CREATE TABLE tbl1 (id int, value text);

इस मामले में स्पष्ट रूप से एक प्रकार बनाने की आवश्यकता नहीं है (यदि प्रकार तालिका पंक्ति पर आधारित है), यह प्रत्येक तालिका के लिए निहित रूप से बनाया गया है।
Function:

CREATE FUNCTION f_insert_rows_into_tbl1(tbl1[])
  RETURNS VOID AS
$BODY$
    INSERT INTO tbl1 (id,value)
    SELECT (a).*
    FROM   (SELECT unnest($1) AS a) x;
$BODY$ LANGUAGE sql;

कॉल करें:

SELECT f_insert_rows_into_tbl1('{"(1,foo)","(2,bar)"}');

पंक्तियों की एक सरणी के लिए इनपुट सिंटैक्स पर ध्यान दें!



  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. रेल - पोस्टग्रेज त्रुटि:कारण:असंगत पुस्तकालय संस्करण:libpq.5.dylib को संस्करण 1.0.0 या बाद के संस्करण की आवश्यकता है,

  3. पोस्टग्रेज फ़ंक्शन

  4. पोस्टग्रेज़ मेरी क्वेरी में इंडेक्स का उपयोग क्यों नहीं कर रहा है

  5. क्या मैं pg_restore कमांड को निष्पादित करते समय db को छोड़ और बना सकता हूँ?