将外部表导入已创建的表的语法是什么?每当我右键单击squirrelsql中的表,然后单击导入文件时,我总会收到错误消息“发生数据库错误。我怀疑Netzilla不支持文件导入。如何使用NZload实用程序导入表格?
答案 0 :(得分:0)
以下是如何使用jdbc加载外部数据的示例。大多数这些命令也可以在nzsql客户端中运行。在您的情况下,只需确保您的表和外部文件的表定义顺序相同,以简化操作。
你在Netezza的真实桌子:
LABDB(ADMIN)=> CREATE TABLE REAL_TABLE (c1 int, c2 char(1), c3 char(1));
CREATE TABLE
Elapsed time: 0m0.047s
要导入的文件:c:\ test.file,内容为:
1|a|x
2|b|z
创建外部表:
LABDB(ADMIN)=> CREATE EXTERNAL TABLE EXT_TEST SAMEAS REAL_TABLE USING (DATAOBJECT('C:\test.file') REMOTESOURCE 'JDBC');
CREATE EXTERNAL TABLE
Elapsed time: 0m0.015s
使用squirrelsql或类似方法检查外部表中的数据:
显示空的real_table:
LABDB(ADMIN)=> SELECT * FROM real_table;
C1 | C2 | C3
----+----+----
(0 rows)
Elapsed time: 0m0.063s
现在您可以使用SquirrelSQL或类似工具从外部表插入到您的真实表中:
INSERT INTO REAL_TABLE SELECT * FROM EXT_TEST;
最后确认real_table中的数据:
LABDB(ADMIN)=> SELECT * FROM real_table;
C1 | C2 | C3
----+----+----
2 | b | z
1 | a | x
(2 rows)
Elapsed time: 0m0.074s
删除外部表,这不会删除您用来加载的文件。
LABDB(ADMIN)=> DROP TABLE EXT_TEST;
DROP TABLE
Elapsed time: 0m0.018s