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

代码 
方法一:
1 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)的字段外,还可以插入常量

 

方法二:
代码 

1 --定义数据
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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值