在netezza中创建带有标题的外部表(postgres)

use*_*141 5 csv netezza

我正在创建一个外部表,如下所示

CREATE EXTERNAL TABLE '~\test.csv' 
USING ( DELIMITER ',' Y2BASE 2000 ENCODING 'internal' REMOTESOURCE 'ODBC' ESCAPECHAR '\' )
AS SELECT * FROM TEST_TABLE;
Run Code Online (Sandbox Code Playgroud)

它工作正常.我的问题是:

有没有办法可以将标题值命名为test.csv文件中的列名?是否有可能在Netezza或postgres.

我想我们可以使用COPY来完成它,但是我想使用EXTERNAL TABLE命令来完成它.

谢谢

小智 1

它并不漂亮,而且可能会增加查询的一些开销,但你可以这样做:

CREATE EXTERNAL TABLE ... AS
SELECT ColumnId, OtherColumn 
FROM (
    SELECT FALSE as IsHeader, ColumnId::VARCHAR(512), OtherColumn::VARCHAR(512)
    FROM TEST_TABLE
    UNION ALL
    SELECT TRUE as IsHeader, 'ColumnId', 'OtherColumn'
) x
ORDER BY IsHeader DESC
Run Code Online (Sandbox Code Playgroud)