首页 > 其他分享 >将一张表的查询结果插入到另一张表(转)

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

时间:2023-03-28 17:33:19浏览次数:31  
标签:一张 -- into Mem 查询 Cursor 插入 destTbl select


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

 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

标签:一张,--,into,Mem,查询,Cursor,插入,destTbl,select
From: https://blog.51cto.com/u_16034393/6155187

相关文章

  • OpenHarmony关系型数据库查询结果呈现
    1ResultSet(结果集)ResultSet(结果集)是OpenHarmony关系型数据库提供查询数据表返回结果的方法,提供了多种灵活的数据访问方式,以便于开发者获取各项数据,ResultSet属性如表1-......
  • Android北京地铁查询app-代码部分
    这次结对作业完成的Android北京地铁查询app的代码,放在这里,也可以到我github上下载:https://github.com/BXF-Aurora168页面和功能介绍:https://www.cnblogs.com/rsy-bxf150/......
  • Android北京地铁查询app
    Android北京地铁查询app:功能介绍:1.输入起点终点,输出所有可能的路线,最上面显示的是最优路线,即经过站点最少的路线。其他的路线按照经过站数的大小由小到大排列,每个站点......
  • Oracle使用SQL语句插入CLOB数据
    常规插入若字符超过4000则会提示文本过长,需要使用绑定变量进行插入,具体如下:--使用PL/SQL语法,采取绑定变量的方式解决,而不是直接拼接SQLDECLAREV_LANGCLOB:='待......
  • 查询oralce,返回list和数据库不同
    前提使用List<Map<String,Object>>接收从数据库查询到的结果,不能进行orderby排序,但是返回的list的顺序要和数据库视图里的字段顺序一致List<Map<String,Object>>......
  • 分页查询
         ......
  • 聚合函数查询
                 ......
  • 力扣579(MySQL)-查询员工的累积薪水(困难)
    题目:Employee表保存了一年内的薪水信息。请你编写SQL语句,对于每个员工,查询他除最近一个月(即最大月)之外,剩下每个月的近三个月的累计薪水(不足三个月也要计算)。结果请按......
  • extjs4 bug查询
    BugFixesFixtabsmouseoverinGroupTabPanelexamplesFixdoublerenderingwhenquicklyexpanding/collapsingtreenodes[EXTJSIV-466]Ensureclsconfigis......
  • django查询优化之是否存在
    res=Booking.objects.filter()#方法一:exists()ifres.exists():print('querysethasdata')else:print('querysethasnodata')#方法二:count()==0i......