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

रेल में Postgresql पर तैयार वक्तव्य

यदि आप prepare का उपयोग करना चाहते हैं ऐसे में आपको कुछ बदलाव करने होंगे:

  1. PostgreSQL ड्राइवर क्रमांकित प्लेसहोल्डर देखना चाहता है ($1 , $2 , ...) प्रश्नवाचक चिह्न नहीं हैं और आपको अपने तैयार किए गए विवरण को एक नाम देने की आवश्यकता है:

     ActiveRecord::Base.connection.raw_connection.prepare('some_name', "DELETE FROM my_table WHERE id = $1")
    
  2. कॉलिंग अनुक्रम है prepare उसके बाद exec_prepared :

    connection = ActiveRecord::Base.connection.raw_connection
    connection.prepare('some_name', "DELETE FROM my_table WHERE id = $1")
    st = connection.exec_prepared('some_name', [ id ])
    

उपरोक्त दृष्टिकोण मेरे लिए ActiveRecord और PostgreSQL के साथ काम करता है, आपका PG::Connection.open यदि आप ठीक से कनेक्ट कर रहे हैं तो संस्करण काम करना चाहिए।

दूसरा तरीका यह है कि आप स्वयं को उद्धृत करें:

conn = ActiveRecord::Base.connection
conn.execute(%Q{
    delete from my_table
    where id = #{conn.quote(id)}
})

ActiveRecord आमतौर पर आपकी पीठ पीछे यही काम करता है।

डेटाबेस के साथ सीधे इंटरैक्ट करने से रेल के साथ कुछ गड़बड़ हो जाती है क्योंकि रेल के लोग नहीं सोचते कि आपको इसे कभी भी करना चाहिए।

यदि आप वास्तव में बिना किसी हस्तक्षेप के एक पंक्ति को हटाने का प्रयास कर रहे हैं, तो आप delete . का उपयोग कर सकते हैं :

<ब्लॉकक्वॉट>

हटाएं ()

[...]

पंक्ति को बस एक SQL DELETE के साथ हटा दिया जाता है रिकॉर्ड की प्राथमिक कुंजी पर बयान, और कोई कॉलबैक निष्पादित नहीं किया जाता है।

तो आप बस इतना ही कह सकते हैं:

MyTable.delete(id)

और आप एक साधारण delete from my_tables where id = ... डेटाबेस में।




  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. तालिका को पोस्टग्रेज करने के लिए स्पार्क डेटाफ्रेम यूपीएसईआरटी

  4. तिथियों की श्रृंखला उत्पन्न करें - इनपुट के रूप में दिनांक प्रकार का उपयोग करना

  5. Postgres-XL . का भविष्य