几种插入数据的方法

--  几种插入数据的方法---------
1. 创建表后再插入
   insert into 插入表(列...) select 列... from 表名...
   
2. 插入时创建表
   SELECT 列... into 插入表 from 表名 
 
3. 将存储过程或者动态批处理的结果集插入到新表(把本机当作链接服务器来用)
  EXEC sp_serveroption <服务器名>,'data access',true;
  SELECT * INTO 插入表 FROM OPENQUERY(<服务器名>,'EXEC {存储过程名称 | 动态批处理}') AS O;
  
4. 将存储过程或者动态批处理的结果集插入到新表(直接语句)
  INSERT INTO 插入表 EXEC {存储过程 | 动态批处理语句}

5. 当源表有字段为 自增长时,而插入表不想 自增长时,则可以使用
  INSERT INTO 插入表 SELECT ID +0,字段... FROM 源表
  
6. 带返回值的 INSERT 语句  OUT 语句 
    CREATE TABLE dbo.CustomersDim
    (
      KeyCol int NOT NULL IDENTITY PRIMARY KEY,
      CustomerID NCHAR(50) NOT NULL,
      CompanyName nvarchar(40) NOT NULL 
    );

    DECLARE @NEWCusts TABLE
    (
      CustomerID NCHAR(5) NOT NULL PRIMARY KEY,
      KeyCol int NOT NULL unique
    );

    INSERT INTO CustomersDim(CustomerID,CompanyName)
    OUTPUT INSERTED.CustomerID,INSERTED.keyCol INTO @NEWCusts  -- 将生成的值 插入到的 临时表
    OUTPUT INSERTED.CustomerID,INSERTED.keyCol  -- 直接显示值
    SELECT customerid,CompanyName FROM northwind.dbo.Customers
    WHERE Country =N'UK' AND CustomerID='AROUT'

    SELECT * FROM @NEWCusts 

 

转载于:https://www.cnblogs.com/cgdou/archive/2012/12/28/2837666.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值