- 代码
- 方法一:
- 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