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

मैं Postgres में दो सरणियों से तालिका मानों में कैसे सम्मिलित करूं?

आपकी कास्ट गलत है, आप text को अननेस्ट नहीं कर सकते ।

कोशिश करें

INSERT INTO mytable (x, y)
  SELECT
    unnest('{x1, x2, x3}' :: TEXT []),
    unnest('{y1, y2, y3}' :: TEXT []);

ध्यान दें कि चयन का यह रूप अजीब तरह से व्यवहार करता है यदि दोनों सरणी समान लंबाई नहीं हैं।

पोस्टग्रेज 9.4+ में अननेस्ट फ़ंक्शन आपको प्रति आउटपुट कॉलम में एक सरणी का उपयोग करके कई सरणियों का विस्तार करने की अनुमति देता है:

INSERT INTO mytable
  SELECT *
  FROM unnest('{x1, x2, x3}' :: TEXT [], '{y1, y2, y3, y4}' :: TEXT [])


  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. तैयार स्टेटमेंट बहुत धीमा है, लेकिन मैन्युअल क्वेरी त्वरित

  3. पोस्टग्रेज:कमांड लाइन से डेटाबेस में टेबल बनाएं

  4. पोस्टगिस इंस्टॉलेशन:टाइप ज्योमेट्री मौजूद नहीं है

  5. .sql postgresql बैकअप से एकल तालिका को कैसे पुनर्स्थापित करें?