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

psql . में स्थितीय पैरामीटर ($1,..) का उपयोग करना

आप psql वैरिएबल इस्तेमाल कर सकते हैं . वे SQL कोड में प्रक्षेपित हैं। प्रति दस्तावेज़:

ध्यान दें कि (प्रति दस्तावेज़ ):

इसलिए आप $1 . फॉर्म के पोजिशनल पैरामीटर के साथ काम नहीं कर सकते . मुझे लगता है कि आप फ़ंक्शन निकायों से कोड के इन टुकड़ों की प्रतिलिपि बनाते हैं, और यही स्थितित्मक पैरामीटर का कारण है?
PostgreSQL 9.2 के बाद से, यहां तक ​​​​कि SQL फ़ंक्शन भी नाम से पैरामीटर का संदर्भ दे सकते हैं। प्रति दस्तावेज़:

PL/pgSQL फ़ंक्शन v8.0 से फ़ंक्शन बॉडी में नामित पैरामीटर का समर्थन कर रहे हैं।

मेरा पसंदीदा नामकरण परंपरा _ . के साथ फ़ंक्शन पैरामीटर को प्रीपेन्ड करना है नामकरण संघर्ष से बचने के लिए। लेकिन यह स्वाद और शैली की बात है।

केवल आधा समाधान

तो, आपका उदाहरण इस तरह काम कर सकता है:

db=> \set _name 'troy'
db=> \set _email '[email protected]'
db=> select * from users where name=:'_name' and email=:'_email'; 

आपको अभी भी क्वेरी स्ट्रिंग तैयार करनी है ...
उद्धरणों को :'_name' . में नोट करें . इसका वही प्रभाव है जो quote_literal() applying को लागू करने जैसा है स्ट्रिंग पर। मैनुअल में विवरण।



  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. जब पोस्टग्रेज में LIMIT का उपयोग किया जाता है तो अनुक्रमणिका का उपयोग नहीं किया जाता है

  3. तत्वों के क्रम को अनदेखा करते हुए समानता के लिए सरणियों की तुलना करें

  4. PostgreSQL में समूह भूमिका के लिए डीबी में एक विशिष्ट स्कीमा पर सभी को अनुदान दें

  5. PostgreSQL पर संकेत