我正在尝试更新表格中列的所有记录的信息:
declare @FromDate date = '1950-01-01'
declare @ToDate date = '2002-12-31'
declare @Numb int = 14814
Update Users
Set BirthDate = dateadd(day,rand(checksum(newid()))*(1+datediff(day, @FromDate, @ToDate)), @FromDate)
WHERE UserID = @Numb
我可以以某种方式使@Numb变量每次运行时增加1,或者我是否必须以其他方式进行此操作?
编辑:用交易解决了它
declare @FromDate1 date = '1950-01-01'
declare @ToDate1 date = '2002-12-31'
declare @Numb int
begin transaction
set @Numb = 14814
while @Numb < 16809
begin
exec usp_Update_Users @FromDate1, @ToDate1, @Numb
set @Numb = @Numb + 1
end
commit transaction
当然首先将上述内容转换为存储过程。感谢大家的帮助
答案 0 :(得分:0)
在过程外部分配变量。然后在程序中,不要声明变量,只需添加1即可。
SET @Numb = @Numb + 1;