我是Postgresql的新手,努力構建一個循環處理一系列CSV文件並加載它們的函數。我可以使用單個文件使COPY工作正常,但我無法使FOR LOOP語法正確。我試圖取代我的蒼蠅被命名爲/path/tmp.YEAR.out.csvplpgsql:將變量連接到FROM子句中
一年數字。這就是我砍死了:
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';
這在拋出一個錯誤第一||。所以我懷疑我不正確地管理變量i
的連接。有小費嗎?
我們是否允許添加'r'標籤並以此方式解決? – 2011-06-06 21:47:58
我當然想過......但我需要快速加載postgresql COPY命令......我有幾十個文件〜500MB。 – 2011-06-06 21:51:24
@dirk,如果我在R中查詢字符串,我可以提交它作爲查詢嗎?我想我只能用普通的sql來做,而不是plpgsql,所以我甚至沒有嘗試。 – 2011-06-06 22:10:02