有一段程序,是个死循环,不知道为什么 CREATE procedure carryoverupdate @run_date datetime, @chatname varchar(500), @mchat smallint = 2, @host int, @promote bit, @specialchatroom varchar(100), @usable bit, @carryover bit as DECLARE samechat CURSOR FOR select * from chatschedule where chatname=@chatname and DATEDIFF(ww, @run_date, run_date) > 0 order by run_date FOR UPDATEOPEN samechatFETCH NEXT FROM samechat WHILE (@@Fetch_Status) = 0 BEGIN set @run_date = dateadd(day, 7, @run_date) update chatschedule set run_date = @run_date, chatname = @chatname, mchat = @mchat, host = @host, promote = @promote, specialchatroom = @specialchatroom, usable = @usable, carryover = @carryover where CURRENT OF samechat FETCH NEXT FROM samechat ENDCLOSE samechat DEALLOCATE samechat
CREATE procedure carryoverupdate
@run_date datetime,
@chatname varchar(500),
@mchat smallint = 2,
@host int,
@promote bit,
@specialchatroom varchar(100),
@usable bit,
@carryover bit
as DECLARE samechat CURSOR
FOR select *
from chatschedule
where chatname=@chatname and DATEDIFF(ww, @run_date, run_date) > 0
order by run_date
FOR UPDATEOPEN samechatFETCH NEXT FROM samechat
WHILE (@@Fetch_Status) = 0
BEGIN
set @run_date = dateadd(day, 7, @run_date)
update chatschedule
set run_date = @run_date,
chatname = @chatname,
mchat = @mchat,
host = @host,
promote = @promote,
specialchatroom = @specialchatroom,
usable = @usable,
carryover = @carryover
where CURRENT OF samechat
FETCH NEXT FROM samechat
ENDCLOSE samechat
DEALLOCATE samechat