
我认为这可以完成工作(这是一个现场演示):
declare @id int, @sql nvarchar(max), @last_result nvarchar(100), @last_runtime datetime, @params nvarchar(max);SET @params = N'@retvalOUT varchar(max) OUTPUT';select @id = min(id) from Test_Run;while @id is not nullbegin select @sql = script from Test_Run where id = @id; set @sql = 'select @retvalOUT= (' + @sql + ')'; exec sp_executesql @sql, @params, @retvalOUT = @last_result OUTPUT; set @last_runtime = getdate(); update Test_Run set Last_Result = @last_result, Last_Runtime = @last_runtime where id = @id; select @id = min(id) from Test_Run where id > @id;end我完全删除了游标,并使用了while循环-我猜我不太喜欢游标:-)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)