Postgresql uygulamasında yeniyim ve bir dizi CSV dosyası üzerinde döngü yapmak ve bunları yüklemek için bir işlev oluşturmaya çalışıyorum. COPY'yi tek bir dosyayla gayet iyi yapabilirim, ancak FOR LOOP sözdizimini doğru olarak alamıyorum.plpgsql: FROM yan tümcesine birleştirme sonucu
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';
Bu bir hata atıyor: Ben bu ben kesmek şey bu benim sinekler /path/tmp.YEAR.out.csv
adlandırılır olarak yılda numarasını yerine çalışıyorum ilk || Bu yüzden, i
değişkeninin uyumsuzluğunu hatalı şekilde yönetdiğimden şüpheliyim. Herhangi bir ipucu?
'r' etiketi ekleyip bu şekilde çözmemize izin var mı? –
Bunu kesinlikle düşündüm ... ama postgresql COPY komutunun hızlı yüklenmesine ihtiyacım vardı ... Birkaç tane düzine dosyam var ~ 500MB. –
@ dkk, R sorgusu dizgesini döndürürsem sonra sorgu olarak gönderebilir miyim? Ben sadece plpgsql değil, düz sql ile yapabileceğini düşünüyordum, bu yüzden denemedim. –