2012-04-25 19 views
16

कैसे करें?अनाम फ़ंक्शन postgresql से वापसी मूल्य

आसान उदाहरण के लिए। मेरे पास एक साधारण कार्य है:

DO LANGUAGE plpgsql $$ DECLARE 
BEGIN 
EXECUTE 'SELECT NOW()'; 
END $$; 

मैं "अब()" या अज्ञात फ़ंक्शन से अन्य मानों का मूल्य कैसे वापस कर सकता हूं? समारोह को एक उदाहरण के रूप में दिया गया है जिसमें मेरे पास एक जटिल कार्य है।

उत्तर

6

यह एक अज्ञात कार्य नहीं है, बल्कि anonymous code block है।

  • अगर आप वापसी के लिए मूल्यों की आवश्यकता, creating real functions पर विचार करें;
  • यदि आपको कुछ डीबग जानकारी आउटपुट करने की आवश्यकता है, तो बस RAISE NOTICE
+2

मैं अनाम प्रक्रियाएं – Arturgspb

+0

वहाँ रहे हैं कोई अनाम प्रक्रियाएं जहाँ तक मुझे पता है कर रहा हूँ के बारे में विशेष रूप से पूछा। – vyegorov

+1

@ आर्टर्जस्पब: ["कोड ब्लॉक है ... 'शून्य' लौटा रहा है।"] (Http://www.postgresql.org/docs/current/interactive/sql-do.html) "वापसी 'शून्य' "। –

5
DO LANGUAGE plpgsql $$ DECLARE 
BEGIN 
execute ' 
create temporary table t 
as 
SELECT NOW() 
'; 
END $$; 

select * from t; 
+0

ओह ... मुझे डालने या चुनने की ज़रूरत है (यदि डालें तो पाकी डुप्लिकेट है)। – Arturgspb

+0

@Arturgspb क्या आप उपरोक्त टिप्पणी के अर्थ के साथ अपना प्रश्न संपादित कर सकते हैं क्योंकि मुझे यह समझ में नहीं आता है? –

+0

उसी ब्लॉक का उपयोग कैसे करें यदि इसका उपयोग CFQuery ब्लॉक में ठंडा करने के साथ किया जाता है ?? –

संबंधित मुद्दे