我正在使用PostgreSQL 9.0.3。我有一个Excel电子表格,其中包含大量数据,可以加载到Windows操作系统中的几个表中。
我编写了脚本来从输入文件中获取数据并将Insert插入到15个表中。 COPY或Import无法完成此操作。我将输入文件命名为DATALD
我发现psql
命令-d
指向db和-f
脚本sql。但我需要知道如何将输入文件与脚本一起提供的命令,以便将数据插入到表中。
例如,这就是我所做的:
begin
for emp in (select distinct w_name from DATALD where w_name <> 'w_name')
--insert in a loop
INSERT INTO tblemployer( id_employer, employer_name,date_created, created_by)
VALUES (employer_id,emp.w_name,now(),'SYSTEM1');
有人可以帮忙吗?
答案 0 :(得分:1)
对于 SQL脚本,您必须..
COPY
将数据导入Postgres。我想你使用临时登台表,因为格式似乎不适合目标表。代码示例:
How to bulk insert only new rows in PostreSQL
还有其他选项,例如pg_read_file()
。但是:
这些功能的使用仅限于超级用户。
用于特殊目的。