将外部表导入已创建表的语法是什么?每当我在 squirrelsql 中右键单击表,然后单击导入文件时,总是收到错误消息“发生数据库错误。我怀疑 Netzilla 不支持文件导入。如何使用 NZload 实用程序导入表?
user1408672
问问题
1069 次
1 回答
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
于 2012-05-30T14:11:55.007 回答