将一张表的查询结果插入到另一张表

 方法一:

     select into 和 insert into select 两种表复制语句
     select * into destTbl from srcTbl
    
     insert into destTbl(fld1, fld2) select fld1, 5 from srcTbl
    
    以上两句都是将 srcTbl 的数据插入到 destTbl,但两句又有区别的。

    第一句(select into from)要求目标表(destTbl)不存在,因为在插入时会自动创建。

    第二句(insert into select from)要求目标表(destTbl)存在,由于目标表已经存在,所以我们除了插入源表(srcTbl)的字段外,还可以插入常量

方法二:

    --定义数据
     DECLARE @srcTitle varchar(500),
         @srcTime datetime,
         @srcContent varchar(max)
     --定义游标
     DECLARE Mem_Cursor CURSOR FOR
     --从源表中获取数据
     SELECT [title],[fbtime],[content] FROM [fjch].[dbo].[bszn]
    
     --打开游标
     OPEN Mem_Cursor
    
     --将获取数据添加到内存表中
     FETCH NEXT FROM Mem_Cursor INTO @srcTitle,@srcTime,@srcContent
    
     WHILE @@FETCH_STATUS=0
     BEGIN
      --将数据插入到新表中
         INSERT INTO [FJBSMDB].[dbo].[Scms_news]
            ([title]
            ,[time]
            ,[bigclassname]
            ,[content]
            ,[hits]
            ,[author]
            ,[url]               
            ,[smallclass]
            ,[ding]
            ,[dig]
            ,[zhaiyao]
            ,[checked]
            ,[Permissions]
            ,[thirdclass]
            ,[reasons]
            ,[IsShowInHome]
            ,[IsRolling]
            ,[IsTop]
            ,[IsTopOrder]
            ,[IsInProvince])
          VALUES
            (@srcTitle
            ,@srcTime
            ,3
            ,@srcContent
            ,0
            ,'福建省测绘局' --原办事指南没来源
            ,'Articls/200912/'+convert( varchar(8),cast(rand(checksum(newid()))*100000000 as int ))+'.html'
            ,14
            ,0
            ,0
            ,''
            ,4
            ,''
            ,0
            ,''
            ,'False'
            ,'False'
            ,'False'
            ,0
            ,'False')
    
     FETCH NEXT FROM Mem_Cursor INTO @srcTitle,@srcTime,@srcContent
     END
    
     --关闭游标
     CLOSE Mem_Cursor
     --删除临时表

     DEALLOCATE Mem_Cursor



文章转载自:http://www.cnblogs.com/xlx0210/archive/2009/12/22/1629456.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值