【发布时间】:2013-04-07 19:44:59
【问题描述】:
我正在尝试编写一个函数来将 csv 数据加载到表中。我希望输入参数是文件的路径。
CREATE OR REPLACE FUNCTION public.loaddata(filepathname varchar)
RETURNS void AS
$BODY$
BEGIN
COPY climatedata(
climatestationid,
date,
prcp,
prcpqflag,
prcpmflag,
prcpsflag,
tmax,
tmaxqflag,
tmaxmflag,
tmaxsflag,
tmin,
tminqflag,
tminmflag,
tminsflag)
FROM $1
WITH csv header;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION public.filltmaxa(character varying)
OWNER TO postgres;
当我尝试创建这个函数时,我得到了
$1 的语法错误
这有什么问题?
【问题讨论】:
-
什么版本的 Postgres?
-
你知道postgresql的copy命令内置了CSV解析吧?
标签: sql postgresql plpgsql dynamic-sql postgresql-copy