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

मैं Postgres sql फ़ंक्शंस में नामित मापदंडों का संदर्भ कैसे दूं?

संशोधित:जैसा कि टिप्पणियों में बताया गया है, यह उत्तर 2012 की शुरुआत में लिखे जाने पर सटीक था, लेकिन 2012 के अंत में जारी v9.2 के बाद से नामित मापदंडों का समर्थन किया गया है।

जब आपका कार्य भाषा एसक्यूएल . आप language plpgsql . के रूप में परिभाषित संग्रहीत कार्यविधियों में नाम से पैरामीटर का उपयोग कर सकते हैं ।

नतीजतन, आपको $X का उपयोग करके फ़ंक्शन args का संदर्भ लेना चाहिए जहां X फ़ंक्शन की तर्क सूची की क्रमिक स्थिति है (1 से शुरू)।

CREATE OR REPLACE FUNCTION fn_name (
  n VARCHAR(32) = NULL,
  OUT name varchar(32),
  OUT description varchar(64) )
RETURNS setof record
AS 
$$
    SELECT u.name
        , u.description
    FROM table_a u
    WHERE u.name = COALESCE($1, u.name);
$$
LANGUAGE 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. स्थगित दिनांक सीमाओं वाली पंक्तियाँ ढूँढें और उनकी अवधि संचित करें

  3. त्रुटि:"$libdir/plpython2" फ़ाइल तक नहीं पहुंच सका - त्रुटि:फ़ाइल "$libdir/plpython3" तक नहीं पहुंच सका

  4. क्या एक पोस्टग्रेज कमिटमेंट उस प्रक्रिया में मौजूद हो सकता है जिसमें एक अपवाद ब्लॉक है?

  5. मौजूदा तालिका में एक गैर-अशक्त स्तंभ जोड़ना विफल रहता है। क्या value विशेषता को अनदेखा किया जा रहा है?