【问题标题】:Syntax for importing table导入表的语法
【发布时间】:2012-05-25 14:18:48
【问题描述】:

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

【问题讨论】:

    标签: sql netezza squirrel-sql


    【解决方案1】:

    这是一个关于如何使用 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-22
      • 2018-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多