0

将外部表导入已创建表的语法是什么?每当我在 squirrelsql 中右键单击表,然后单击导入文件时,总是收到错误消息“发生数据库错误。我怀疑 Netzilla 不支持文件导入。如何使用 NZload 实用程序导入表?

4

1 回答 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 或类似工具检查外部表中的数据: 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 回答