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

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

select * into target_table from source_table;

insert into target_table(column1,column2) select column1,5 from source_table;

以上两句都是将源表source_table的记录插入到目标表target_table,但两句又有区别。
第一句(select into from)要求目标表target_table不存在,因为在插入时会自动创建。
第二句(insert into select from)要求目标表target_table存在,由于目标表已经存在,所以我们除了插入源表source_table的字段外,还可以插入常量,如例中的:5。

例如:需要将user_city表中的部分字段值拷贝到dim_pub_county_act表中(字段名不同),则语句如下:

INSERT
INTO
    SUI1.DIM_PUB_COUNTY_ACT
    (
        CITY_ID,
        COUNTY_ID,
        BEGIN_TIME,
        END_TIME,
        COUNTY_NAME,
        ACTIVE_FLAG,
        AREA_CODE,
        DESC_TXT
    )
SELECT
    parentid as city_id,
    cityid as county_id,
    ‘2011-08-15 00:00:00‘ as BEGIN_TIME,
    ‘2011-08-15 00:00:00‘as END_TIME,
    cityname as COUNTY_NAME,
    1 as ACTIVE_FLAG,
    1 as AREA_CODE,
    ‘地区‘ as DESC_TXT
FROM
    user_city
WHERE
    parentid LIKE ‘city1_‘;

-----------------------------------------------------------------

INSERT
INTO
    SUI1.DIM_PUB_DEPT_ACT
    (
        DEPT_ID,
        CITY_ID,
        COUNTY_ID,
        DEPT_NAME,
        ACTIVE_FLAG,
        BEGIN_TIME,
        END_TIME,
        DESC_TXT
    )
  SELECT
   t1.cityid as dept_id,
   t2.parentid as city_id,
   t1.parentid as county_id,
   t1.cityname as dept_name,
   1 as ACTIVE_FLAG,
   ‘2011-08-15 00:00:00‘ as BEGIN_TIME,
    ‘2011-08-15 00:00:00‘as END_TIME,
   ‘片区‘ as DESC_TXT
FROM
    (select * from user_city where parentid like ‘city101_‘) t1,(select * from user_city where parentid like ‘city1_‘) t2

WHERE t1.parentid = t2.cityid;

时间: 2024-10-07 05:27:03

select into from和insert into select from两种表复制语句区别的相关文章

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

create table  as select * from和insert into select from两种表复制语句区别 [sql] view plain copy create table targer_table as select * from source_table insert into target_table(column1,column2) select column1,column2 from source_table 以上两句都是将源表source_table的记录插

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

SELECT * into xnbData from (select * from xnbXlsData) select * INTO xnbData from xnbXlsData  ------------------------------ Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少.但我们在开发.测试过程中,经常会遇到需要表复制的情况,如

PostgreSQL SELECT INTO和INSERT INTO SELECT 两种表复制语句

SELECT INTO和INSERT INTO SELECT两种表复制语句都可以用来复制表与表之间的数据,但是它们之间也有区别. 建表语句: bas_custom_rel表 CREATE TABLE "public"."bas_custom_rel" ("uuid" int8 NOT NULL,"kunnrkh" varchar(100) COLLATE "default","zfdel"

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

我们经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了. 1.INSERT INTO SELECT语句 语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1 注意:(1)要求目标表Table2必须存在,并且字段fie

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

Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少.但我们在开发.测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了. 1.INSERT INTO SELECT语句 语

<转>oracle SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解

我们经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了. 1.INSERT INTO SELECT语句 语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1 注意:(1)要求目标表Table2必须存在,并且字段fie

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

1.INSERT INTO SELECT语句 语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1 要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量. 2.SELECT INTO FROM语句 语句形式为:SELECT vale1, value2 into Table2 from Table1 要求目标表Table2不

select into from 与 insert into select 区别

1.INSERT INTO SELECT语句 语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1 要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量.示例如下: INSERT INTO SELECT语句复制表数据 --1.创建测试表 create TABLE Table1 ( a varchar(10), b varc

select into from 和 insert into select 的用法和区别

本文导读:Insert 是T-sql中常用语句,但我们在开发中经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个 table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了 select into from 和 insert into select都是用来复制表,两者的主要区别为: select into from 要求目标表不存在,因为在插入时会自动创建.insert into