आप सीधे 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 प्रक्रिया के समतुल्य नहीं है।