我想知道是否有办法将 csv 文件复制到临时表中,其中 csv 文件中的列数未知。我使用的数据库软件是 PgAdmin III。我发现如果我知道列数,那么我可以创建一个包含该列数的临时表,然后像这样复制 csv 文件:
CREATE TEMPORARY TABLE temp
(
col1 VARCHAR(80),
col2 VARCHAR(80),
....
coln VARCHAR(80)
);
COPY temp FROM 'C:/Users/postgres/Boost.txt' CSV HEADER DELIMITER E' '
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试简单地将 csv 文件复制到临时表中没有列的临时表,Postgresql(8.4 版)会抱怨我正在使用一个列数少于 csv 文件的表。我一直在研究,但似乎在 Postgresql 文档中找不到任何关于此的内容。有谁知道在 Postgresql 中是否可以将 csv 文件复制到具有在运行时决定的任意数量的列的临时表中?一旦临时表加载了 csv 文件,我计划在它被销毁之前用临时表与其他表进行一些比较。csv 文件中的第一行也包含标题。