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

PL/PGSQL से सत्र चर (\set var='value') का जिक्र करते हुए

आप सीधे plpgsql कोड के अंदर psql चर का उपयोग नहीं कर सकते। प्रतीक प्रतिस्थापन स्ट्रिंग्स के अंदर अवरुद्ध है:

postgres=> select :'xx';
 ?column? 
----------
 AHOJ
(1 row)

postgres=> select ' :xx ';
?column? 
----------
 :xx 
(1 row)

लेकिन आप plpgsql कोड (सर्वर साइड पर) में इस तरह के वेरिएबल्स का उपयोग करने के लिए सर्वर सत्र चर और बाद में सेट कर सकते हैं:

postgres=> set myvars.xx = :'xx';
SET
postgres=> do $$ begin 
                   raise notice '>>%<<', current_setting('myvars.xx');
                 end $$;
NOTICE:  >>AHOJ<<
DO

आप कमांड लाइन से एक ही तकनीक का उपयोग कर सकते हैं, देखें:http://okbob.blogspot.cz/2015/01/how-to-push-parameters-to-do-statement.html

अंतिम नोट - कोड

BEGIN
  SELECT some;
END;

plpgsql में अमान्य है। किसी भी SELECT . के परिणाम s कुछ चर में संग्रहीत किया जाना चाहिए। पोस्टग्रेज़ के पास मुफ़्त SELECT . का परिणाम लौटाने की संभावना नहीं है क्लाइंट के लिए - DO कथन MS SQL प्रक्रिया के समतुल्य नहीं है।




  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. Postgresql info_schema में सभी तालिकाओं की सूची बनाएं

  4. ओपनप्रोजेक्ट के लिए डेटा खोए बिना पोस्टग्रेस्क्ल डेटाबेस को 10 से 12 तक अपग्रेड कैसे करें

  5. Oracle PL/SQL के Postgresql PL/pgSQL में अनुवाद के लिए टूल