से चर के संगतता मैं पोस्टग्रेस्क्ल के लिए नया हूं और CSV फ़ाइलों की एक श्रृंखला पर लूपिंग के लिए एक फ़ंक्शन बनाने और उन्हें लोड करने के लिए संघर्ष करने के लिए संघर्ष कर रहा हूं। मैं कॉपी एक ही फाइल के साथ ठीक काम कर सकता हूं, लेकिन मैं फॉर लूप वाक्यविन्यास सही नहीं कर पा रहा हूं।plpgsql: खंड
CREATE OR REPLACE FUNCTION test() RETURNS void as $$
BEGIN
FOR i IN 1982..1983 LOOP
COPY myTable
FROM '/path/tmp.' || i::VARCHAR || '.out.csv'
delimiters ','
END LOOP;
END;
$$ LANGUAGE 'plpgsql';
इस पर एक त्रुटि फेंकता है: मैं एक साल संख्या के रूप में मेरी मक्खियों /path/tmp.YEAR.out.csv
नाम हैं स्थानापन्न करने यह मैं क्या हैक की गई है कोशिश कर रहा हूँ पहला || तो मुझे संदेह है कि मैं परिवर्तनीय i
अनुचित तरीके से संगत प्रबंधन कर रहा हूं। कोई सुझाव?
क्या हमें एक 'आर' टैग जोड़ने और इसे हल करने की अनुमति है? –
मैंने निश्चित रूप से इसके बारे में सोचा था ... लेकिन मुझे postgresql COPY कमांड की तेज़ लोडिंग की आवश्यकता है ... मेरे पास कुछ दर्जन फ़ाइलें ~ 500MB हैं। –
@dirk, अगर मैं आर में क्वेरी स्ट्रिंग रोल करना चाहता था तो क्या मैं इसे एक प्रश्न के रूप में सबमिट कर सकता हूं? मैं सोच रहा था कि मैं केवल सादे वर्ग के साथ ऐसा कर सकता हूं, plpgsql नहीं, इसलिए मैंने कोशिश भी नहीं की। –