HGDB两表间数据复制语句介绍

文档用途

本文档提供SELECT INTO和INSERT INTO SELECT两种表复制语句的使用方法及示例。

详细信息

在HGDB中的SELECT INTO和INSERT INTO SELECT两种表复制语句都可以用来复制表与表之间的数据。

  1. INSERT INTO FROM语句

语句形式为:Insert into Table2(field1,field2,…) select value1,value2,… from Table1

要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。示例如下:

highgo=# insert into test1 select id,note from test;

错误: 42P01: 关系 “test1” 不存在

第1行

insert into test1 select id,note from test;

                 ^

highgo=# create table test1(id integer,note character varying);

CREATE TABLE

highgo=# insert into test1 select id,note from test;

INSERT 0 6

highgo=# select * from test1;

 id |   note

----+-----------

  1 | abcdefgh

  2 | abcdxyzh

  3 | 123defgh

  4 | ab_cdefgh

  5 | ab%cdxyzh

  6 | abcdhadsw

(6 行记录)

2.SELECT INTO FROM语句

语句形式为:SELECT vale1, value2 into Table2 from Table1。要求目标table2不存在,在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。

highgo=# \d

                 关联列表

    架构模式    |  名称  |  类型  | 拥有者

----------------+--------+--------+--------

 oracle_catalog | dual   | 视图   | highgo

 public         | people | 数据表 | highgo

 public         | test   | 数据表 | highgo

 public         | test1  | 数据表 | highgo

(4 行记录)

 

 

highgo=# select id,note into test2 from test;

SELECT 6

highgo=# \d

                 关联列表

    架构模式    |  名称  |  类型  | 拥有者

----------------+--------+--------+--------

 oracle_catalog | dual   | 视图   | highgo

 public         | people | 数据表 | highgo

 public         | test   | 数据表 | highgo

 public         | test1  | 数据表 | highgo

 public         | test2  | 数据表 | highgo

(5 行记录)

 

 

highgo=# select id,note into test2 from test;

错误: 42P07: 关系 “test2” 已经存在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值