SELECT INTO和INSERT INTO SELECT两种表复制语句都可以用来复制表与表之间的数据,但是它们之间也有区别。

建表语句:

bas_custom_rel表

CREATE TABLE "public"."bas_custom_rel" (
"uuid" int8 NOT NULL,
"kunnrkh" varchar(100) COLLATE "default",
"zfdel" varchar(1) COLLATE "default",
"hkunnrkh" varchar(100) COLLATE "default",
"create_time" timestamp(6) NOT NULL,
"modify_time" timestamp(6),
"sync_status" varchar(1) COLLATE "default",
"sync_time" timestamp(6),
"ret_code" varchar(100) COLLATE "default",
"ret_message" varchar(5000) COLLATE "default",
"z_date" timestamp(6),
CONSTRAINT "pk_bas_custom_rel" PRIMARY KEY ("uuid")
)
cust_rel表:

CREATE TABLE "public"."cust_rel" (
"son" varchar(255) COLLATE "default",
"pp" varchar(255) COLLATE "default"
)

1. INSERT INTO FROM语句

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

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

INSERT INTO bas_custom_rel (
uuid,
kunnrkh,
zfdel,
hkunnrkh,
create_time,
modify_time,
sync_status,
sync_time,
ret_code,
ret_message,
z_date
) SELECT
nextval('cust_rel_seq') AS uuid,
son,
'' AS zfdel,
coalesce(pp,'-1') AS pp,
now() as create_time,
NULL AS modify_time,
0 AS sync_status,
NULL AS sync_time,
0 as ret_code,
'' AS ret_message,
now()
FROM
cust_rel;
2.SELECT INTO FROM语句

 语句形式为:SELECT vale1, value2 into Table2 from Table1

 要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。示例如下:

postgres=# drop table tb101; DROP TABLE
postgres=#
postgres=# select * into tb101 from tb100 where id<5; SELECT 4
postgres=#
postgres=# select * from tb101; id | name ----+------ 1 | aa 2 | aa 3 | aa 4 | aa (4 rows)
3、复制表结构及数据到新表
CREATE TABLE 新表 SELECT * FROM 旧表
---------------------
作者:小城南
来源:CSDN
原文:https://blog.csdn.net/cainiaobulan/article/details/83147418
版权声明:本文为博主原创文章,转载请附上博文链接!

PostgreSQL SELECT INTO和INSERT INTO SELECT 两种表复制语句的更多相关文章

  1. select into from和insert into select from两种表复制语句区别

    select into from和insert into select from两种表复制语句都是将源表source_table的记录插入到目标表target_table,但两句又有区别. 第一句(s ...

  2. 问题:oracle select into;结果:oracle SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解

    oracle SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解 (2011-07-08 08:59:47) 转载▼ 标签: it 分类: oracle 我们经常会遇 ...

  3. oracle数据库【表复制】insert into select from跟create table as select * from 两种表复制语句区别

    create table  as select * from和insert into select from两种表复制语句区别 create table targer_table as select ...

  4. oracle SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解

    我们经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INT ...

  5. SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解(SQL数据库和Oracle数据库的区别)

    https://www.cnblogs.com/mq0036/p/4155136.html 我们经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个tabl ...

  6. SELECT INTO 和 INSERT INTO SELECT 两种表复制语句

    Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少.但我 ...

  7. SELECT INTO 和 INSERT INTO SELECT 两种表复制语句.txt

    Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少.但我 ...

  8. SQL中两种表复制语句

    Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少.但我 ...

  9. SQL Server 中SELECT INTO 和 INSERT INTO SELECT 两种表复制语句

    1.INSERT INTO SELECT语句 语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Tab ...

随机推荐

  1. wince如何扫描条码并且在浏览器上查询数据

    这个挺简单的,winform也适用 public override void OnGetBarcode(string scanStr) { try { Process.Start("iesa ...

  2. 2.Buffer 缓冲区

    /*缓冲区(Buffer)*/ Buffer 就像一个数组,可以保存多个相同类型的数据.根据数据类型不同(boolean 除外),有以下Buffer常用子类: /*ByteBuffer*/(常用) . ...

  3. Python之定义默认参数

    定义函数的时候,还可以有默认参数. 例如Python自带的 int() 函数,其实就有两个参数,我们既可以传一个参数,又可以传两个参数: >>> int('123') 123 > ...

  4. 【异常】java.sql.SQLException: Could not retrieve transaction read-only status from server Query

    1 详细异常 java.sql.SQLException: Could not retrieve transaction read-only status , ], [ChargingOrderRea ...

  5. Python概要介绍

    Python的由来 Python的创始人(Guido Van Rossum)吉多·范罗苏姆——龟叔,1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做 ...

  6. xargs 使用详解

    参考转载:https://www.cnblogs.com/f-ck-need-u/p/5925923.html#auto_id_12 xargs 作用:将管道传输过来的stdin进行处理(分割.分批) ...

  7. c线程使用锁控制并发

    // // Created by gxf on 2019/12/16. // #include <stdlib.h> #include <stdio.h> #include & ...

  8. zend studio 13.6.1汉化包安装方法

    1.这里介绍的是离线汉化包的安装,在线汉化安装总是失败,还是离线的方便 2.汉化安装过程中系统可能会弹出报错,忽略就可以(反正我现在就是忽略了在用着) 下面图片中的链接就是在线安装的链接,不管是在线还 ...

  9. 如何比较js 浮点数

    浮点数的定义,非整数的Number类型无法用 ==(===也不行) 来比较,这就是为什么在JavaScript中,0.1+0.2不能=0.3: console.log( 0.1 + 0.2 == 0. ...

  10. jaxb生成pojo类返回类型为布尔值的问题

    返回值为Boolean的话回在对象转json的时候丢失掉这个属性,因为json认的是小写. 这个算jaxb的一个bug:https://java.net/jira/browse/JAXB-510 解决 ...