引用:SQL Server
我有一个带有while
循环的存储过程,我希望每500个循环后打印一些消息。
所以,我写了-
CREATE spxxx
AS
BEGIN
BEGIN TRAN
DECLARE @counter = 0;
WHILE <somecondition>
SET @counter = @counter + 1;
IF @counter % 50 = 0
BEGIN
PRINT @counter;
END
END
COMMIT TRAN
END -- End spxxx
但是,一旦proc结束,它就会打印所有消息。我希望它在运行时打印消息。
最佳答案
我确定您可以使用RAISERROR ... WITH NOWAIT
如果使用严重性10,这不是错误。这也提供了一些方便的格式,例如%s,%i,您也可以使用state来跟踪自己的位置。
关于sql-server - 当存储过程正在运行时,如何使用PRINT语句跟踪执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1264586/