IMPORT...SELECT
将数据从一个查询结果导入到现有的表中。
语法格式
sql
ImportStmt::=
IMPORT [APPEND | REPLACE] TABLE name_space [( columnList )] FROM selectstmt
参数说明
[APPEND | REPLACE]
:可选。APPEND
: 默认值,表示将selectstmt的结果追加到目标表中,而不影响已有数据。REPLACE
: 表示在导入新数据之前,先删除目标表中的所有现有数据。
name_space
:表名,可带模式名也可忽略模式名。columnList
:列名,可选值,缺省时列名为查询中的列名。selectstmt
:查询语句,详情参考查询章节。
说明:
columnList
字段数必须和selectstmt
中的字段数保持一致。- IMPORT语法复制数据不支持目标表出现在查询子句中。
示例
示例1
APPEND模式sqlSQL> CREATE TABLE tb_ap(id INT,name VARCHAR(20)); SQL> INSERT INTO tb_ap VALUES(1,'one')(2,'two'); SQL> CREATE TABLE tb_ap1(id INT,name VARCHAR(20)); SQL> INSERT INTO tb_ap1 VALUES(66,'abc'); SQL> IMPORT APPEND TABLE tb_ap1 FROM SELECT * FROM tb_ap; SQL> SELECT * FROM tb_ap1; ID | NAME | ------------------------------------------------------------------------------ 66 | abc| 1 | one| 2 | two|
示例2
REPLACE模式sqlSQL> IMPORT REPLACE TABLE tb_ap1 FROM SELECT * FROM tb_ap; SQL> SELECT * FROM tb_ap1; ID | NAME | ------------------------------------------------------------------------------ 1 | one| 2 | two|