更新时间:2022-08-12 GMT+08:00

插入数据至DWS表

功能描述

INSERT INTO命令将DLI表中的数据插入到已关联的指定DWS表中。

语法格式

  • 将SELECT查询结果插入到表中:
    1
    2
    3
    4
    5
    6
    7
    INSERT INTO DLI_TABLE
      SELECT field1,field2...
      [FROM DLI_TEST]
      [WHERE where_condition]
      [LIMIT num]
      [GROUP BY field]
      [ORDER BY field] ...;
    
  • 将某条数据插入到表中:
    1
    2
    INSERT INTO DLI_TABLE
      VALUES values_row [, values_row ...];
    

关键字

SELECT对应关键字说明请参考SELECT基本语句

参数说明

表1 参数描述

参数

描述

DLI_TABLE

已创建跨源连接的DLI表名称。

DLI_TEST

为包含待查询数据的表。

field1,field2...,field

表“DLI_TEST”中的列值,需要匹配表“DLI_TABLE”的列值和类型。

where_condition

查询过滤条件。

num

对查询结果进行限制,num参数仅支持INT类型。

values_row

想要插入到表中的值,列与列之间用逗号分隔。

注意事项

  • DLI表必须已经存在。
  • DLI表在创建时不需要指定Schema信息,Schema信息将使用DWS表的信息。如果select子句中选择的字段数量和类型与DWS表的Schema信息不匹配时,系统将报错。
  • 不建议对同一张表并发插入数据,因为有一定概率发生并发冲突,导致插入失败。

示例

  • 查询表“user”中的数据插入表“test”中。
    1
    2
    3
    4
    5
    6
    INSERT INTO test
      SELECT ATTR_EXPR
      FROM user
      WHERE user_name='cyz'
      LIMIT 3
      GROUP BY user_age
    
  • 插入数据“1”到表“test”中
    INSERT INTO test 
      VALUES (1);