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

PostgreSQL डालने के लिए तारों की रूबी/रेल सरणी

इस तरह कुछ के लिए मैं ActiveRecord को उद्धृत करने और सामान से बचने के लिए अनदेखा करता हूं और सीधे ActiveRecord::Base.connection.quote पर जाता हूं ।

आप जिस SQL ​​​​को समाप्त करने का प्रयास कर रहे हैं वह कुछ इस प्रकार है:

INSERT INTO TABLE (column)
SELECT column FROM TABLE
UNION VALUES ('example one''s value'), ('example (2) value')
EXCEPT SELECT column FROM TABLE

आप quote का उपयोग कर सकते हैं कन्वर्ट करने के लिए ' करने के लिए '' (ध्यान दें कि SQL एकल उद्धरणों से बचने के लिए उन्हें दोगुना कर देता है) लेकिन आपको स्वयं VALUES में उपयुक्त कोष्ठक जोड़ने होंगे। कनेक्शन का quote विधि बाहरी एकल उद्धरणों को भी जोड़ेगी।

कुछ इस तरह:

values = array_of_strings.map { |s| "(#{ActiveRecord::Base.connection.quote(s)})" }.join(',')

इसके बाद:

sql = %Q{
    INSERT INTO TABLE (column)
    SELECT column FROM TABLE
    UNION VALUES #{values}
    EXCEPT SELECT column FROM TABLE
}

चाल चलनी चाहिए और सुरक्षित रहना चाहिए।




  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. लिनक्स पर एक्सएफएस की वापसी

  4. त्रुटि:फ़ंक्शन अननेस्ट (पूर्णांक []) पोस्टग्रेस्क्ल में मौजूद नहीं है

  5. व्याख्या विश्लेषण को कैसे समझें