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

本文介绍了T-SQL中两种常用的表复制方法:INSERT INTO SELECT用于将一个表的部分字段复制到已存在的另一个表中;SELECT INTO FROM则用于从一个表中复制数据并创建新的表。

    

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

      1.INSERT INTO SELECT语句

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

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

复制代码

   --1.创建测试表
    create TABLE Table1
    (
        a 
varchar(10),
        b 
varchar(10),
        c 
varchar(10),
        
CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED
        (
            a 
ASC
        )
    ) 
ON [PRIMARY]

    
create TABLE Table2
    (
        a 
varchar(10),
        c 
varchar(10),
        d 
int,
        
CONSTRAINT [PK_Table2] PRIMARY KEY CLUSTERED
        (
            a 
ASC
        )
    ) 
ON [PRIMARY]
    
GO
    
--2.创建测试数据
    Insert into Table1 values('','asds','90')
    
Insert into Table1 values('','asds','100')
    
Insert into Table1 values('','asds','80')
    
Insert into Table1 values('','asds',null)
    
GO
    
select * from Table2

    
--3.INSERT INTO SELECT语句复制表数据
    Insert into Table2(a, c, d) select a,c,5 from Table1
    
GO

    
--4.显示更新后的结果
    select * from Table2
    
GO
    
--5.删除测试表
    drop TABLE Table1
    
drop TABLE Table2
复制代码


      2.SELECT INTO FROM语句

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

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

复制代码

   --1.创建测试表
    create TABLE Table1
    (
        a 
varchar(10),
        b 
varchar(10),
        c 
varchar(10),
        
CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED
        (
            a 
ASC
        )
    ) 
ON [PRIMARY]
    
GO

    
--2.创建测试数据
    Insert into Table1 values('','asds','90')
    
Insert into Table1 values('','asds','100')
    
Insert into Table1 values('','asds','80')
    
Insert into Table1 values('','asds',null)
    
GO

    
--3.SELECT INTO FROM语句创建表Table2并复制数据
    select a,c INTO Table2 from Table1
    
GO

    
--4.显示更新后的结果
    select * from Table2
    
GO
    
--5.删除测试表
    drop TABLE Table1
    
drop TABLE Table2
复制代码
已经博主授权,源码转载自 https://pan.quark.cn/s/a4b39357ea24 在信息技术领域,特别是软件编程行业,微软公司推出的集成开发环境(IDE)Visual Studio,凭借其卓越的功能广泛的适用范围,成为了众多程序员的常用工具。不过,在实际操作期间,用户可能会遭遇各种挑战,其中一种较为普遍的挑战是“Visual Studio遭遇了异常情况,这或许与某个附加组件有关”。本文将详细研究这一现象的成因、潜在后果以及最终的应对措施。 ### 原因剖析 Visual Studio通过支持多种插件附加组件来扩展其功能,这些组件通常由第三方开发者设计,旨在为用户提供更多个性化专业化的工具。然而,这些插件的质量良莠不齐,部分可能未经过充分的测试或与特定版本的Visual Studio存在兼容性难题,从而在执行时引发异常。异常的出现可能源于以下几个因素: 1. **代码缺陷**:若附加组件中的代码存在逻辑问题或资源管理不当,就可能导致运行时异常。 2. **资源竞争**:多个插件同时占用相同的资源(例如内存、文件句柄等),可能会产生资源冲突,进而触发异常。 3. **依赖不匹配**:插件可能需要特定版本的库或框架,如果系统中安装的版本不一致,也可能导致异常。 4. **安全隐患**:部分插件可能存在安全漏洞,一旦被恶意利用,可能会导致更严重的问题,包括但不限于异常崩溃。 ### 后果分析 当Visual Studio遇到由附加组件引发的异常时,不仅会中断当前的工作进程,降低开发效能,还可能带来以下潜在风险: 1. **数据遗失**:若异常发生在保存操作之前,可能会导致未保存的工作内容遗失。 2. **稳定性减弱**:频繁的异常会导致Visual Stud...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值