declare @name nvarchar(50)
declare @channelname nvarchar(50)
declare @newid int
declare @date datetime
declare @weekday nvarchar(50)
declare @begintime datetime
declare @timelength int
declare @endtime datetime
declare @type nvarchar(500)
declare @property nvarchar(500)
declare @documentid int
declare @minID int
declare @n int
set @n = 0;
begin
--一、声明游标
declare _cursor cursor for select ID,Name,ChannelName,Date,WeekDay,BeginTime,TimeLength,EndTime,Type,Property,DocumentID from DMPlatformData
--二、打开游标
open _cursor
--三、取第一条数据
fetch next from _cursor
into @newid, @name, @channelname,@date,@weekday,@begintime,@timelength,@endtime,@type,@property,@documentid
while @@FETCH_STATUS = 0
begin
--四、操作数据
set @n = @n +1
select @minID=min(ID) from DMPlatformDataFirst where Name=@name and ChannelName=@channelname
if isnull(@minID,0)=0
begin
insert into DMPlatformDataFirst (Name,ChannelName,[Date],[Weekday],BeginTime,TimeLength,EndTime,Type,Property,DocumentID,RelatedID) values( @name,@channelname,@date,@weekday,@begintime,@timelength,@endtime,@type,@property,@documentid,@newid )
end
print( convert(nvarchar(50),@n) + ',' +convert(nvarchar(50),@newid))
--五、取下一条数据
fetch next from _cursor
into @newid, @name, @channelname,@date,@weekday,@begintime,@timelength,@endtime,@type,@property,@documentid
end
--六、关闭游标
close _cursor
--七、释放游标
deallocate _cursor
end
SQLServer 游标的使用
最新推荐文章于 2024-04-30 16:39:18 发布