如果列存在,则COPY

时间:2018-02-12 12:38:56

标签: postgresql copy plpgsql

我正在编写一个PLPGSQL函数,需要将文件导入表中。

我创建了一个包含4列的临时表

    CREATE TABLE IF NOT EXISTS tmp_ID_Customer (
        ID int4 NULL,
        Name varchar(2000) NULL,
        CodeEx varchar(256) NULL, 
        AccountID varchar(256) NULL
    )ON COMMIT DROP;

然后我尝试使用以下

将文件复制到此表中
EXECUTE format('COPY tmp_ID_Customer FROM %L (FORMAT CSV, HEADER TRUE, DELIMITER(''|''))', _fileName);

我遇到的问题是其中一些文件只包含前3列。

所以我收到一条错误说

 extra data after last expected column

我已尝试指定列,但由于最后一列并不总是存在。我收到一个错误。

1 个答案:

答案 0 :(得分:0)

指定要复制的列:

COPY tmp_ID_Customer(id, name, codex) FROM ...