2014-09-30 6 views
7

मैं कुछ पीजीस्क्रिप्ट को सीधे pgAdmin संपादक UI से निष्पादित करना चाहता हूं।pgAdmin में pgsql स्क्रिप्ट निष्पादित करने के लिए कैसे?

FOR i IN 1..10 LOOP 
    PRINT i; -- i will take on the values 1,2,3,4,5,6,7,8,9,10 within the loop 
END LOOP; 

लेकिन मैं हमेशा

[ERROR ] 1.0: syntax error, unexpected character 

मिला मैं भी ... $$ कर साथ कोड रैप करने के लिए $$ कोशिश की, लेकिन समस्या का समाधान नहीं है।

उत्तर

13

अलग Clodoaldo Neto's Answer से है.आप यह भी

DO 
$$ 
BEGIN 
FOR i IN 1..10 LOOP 
     RAISE NOTICE '%', i; -- i will take on the values 1,2,3,4,5,6,7,8,9,10 within the loop 
END LOOP; 
END 
$$ 
+2

अच्छा! इसे निश्चित रूप से स्वीकार किए गए उत्तर के रूप में चिह्नित किया जाना चाहिए। – Christian

1

कोई PRINT कमांड नहीं है। इसके बजाय raise notice का उपयोग करें।

create function f() 
returns void as $$ 
begin 
    FOR i IN 1..10 LOOP 
     raise notice '%', i; -- i will take on the values 1,2,3,4,5,6,7,8,9,10 within the loop 
    END LOOP; 
end; 
$$ language plpgsql; 

http://www.postgresql.org/docs/current/static/plpgsql.html

+0

err..I गुमनाम ब्लॉक के साथ सोचा कोशिश कर सकते हैं, यह हर छोटी स्क्रिप्ट के लिए एक समारोह बनाने के लिए आवश्यक नहीं है .. ।नहीं? – davidshen84

+0

@ davidshen84 हां एक ब्लॉक काम करेगा। –

+1

@ davidshen84 ... लेकिन आपको 'डीओ' ब्लॉक की आवश्यकता है, आप सीधे पीएल/पीजीएसक्यूएल नहीं लिख सकते हैं। –

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