SQL查询 - 每次使用时将int变量值增加1

时间:2017-06-22 21:45:14

标签: sql

我正在尝试更新表格中列的所有记录的信息:

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

当然首先将上述内容转换为存储过程。感谢大家的帮助

1 个答案:

答案 0 :(得分:0)

在过程外部分配变量。然后在程序中,不要声明变量,只需添加1即可。

SET @Numb = @Numb + 1;