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

时间:2021-07-28 00:42:13

方法一:

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

1 select into 和 insert into select 两种表复制语句
2 select * into destTbl from srcTbl
3
4 insert into destTbl(fld1, fld2) select fld1, 5 from srcTbl
5
6 以上两句都是将 srcTbl 的数据插入到 destTbl,但两句又有区别的。
7
8 第一句(select into from)要求目标表(destTbl)不存在,因为在插入时会自动创建。
9
10 第二句(insert into select from)要求目标表(destTbl)存在,由于目标表已经存在,所以我们除了插入源表(srcTbl)的字段外,还可以插入常量
11
12

方法二:

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

1 --定义数据
2 DECLARE @srcTitle varchar(500),
3 @srcTime datetime,
4 @srcContent varchar(max)
5 --定义游标
6 DECLARE Mem_Cursor CURSOR FOR
7 --从源表中获取数据
8 SELECT [title],[fbtime],[content] FROM [fjch].[dbo].[bszn]
9
10 --打开游标
11 OPEN Mem_Cursor
12
13 --将获取数据添加到内存表中
14 FETCH NEXT FROM Mem_Cursor INTO @srcTitle,@srcTime,@srcContent
15
16 WHILE @@FETCH_STATUS=0
17 BEGIN
18 --将数据插入到新表中
19 INSERT INTO [FJBSMDB].[dbo].[Scms_news]
20                ([title]
21                ,[time]
22                ,[bigclassname]
23                ,[content]
24                ,[hits]
25                ,[author]
26                ,[url]
27                ,[smallclass]
28                ,[ding]
29                ,[dig]
30                ,[zhaiyao]
31                ,[checked]
32                ,[Permissions]
33                ,[thirdclass]
34                ,[reasons]
35                ,[IsShowInHome]
36                ,[IsRolling]
37                ,[IsTop]
38                ,[IsTopOrder]
39                ,[IsInProvince])
40 VALUES
41                (@srcTitle
42                ,@srcTime
43                ,3
44                ,@srcContent
45                ,0
46                ,'福建省测绘局' --原办事指南没来源
47                ,'Articls/200912/'+convert( varchar(8),cast(rand(checksum(newid()))*100000000 as int ))+'.html'
48                ,14
49                ,0
50                ,0
51                ,''
52                ,4
53                ,''
54                ,0
55                ,''
56                ,'False'
57                ,'False'
58                ,'False'
59                ,0
60                ,'False')
61
62 FETCH NEXT FROM Mem_Cursor INTO @srcTitle,@srcTime,@srcContent
63 END
64
65 --关闭游标
66 CLOSE Mem_Cursor
67 --删除临时表
68 DEALLOCATE Mem_Cursor

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