在所有查询完成执行之前,SQL查询不会“报告”

时间:2011-06-08 11:37:42

标签: sql sql-server

我正在运行一组sql查询,并且在所有查询都已运行之前,它们不报告行影响。无论如何,我可以获得增量反馈。

示例:

   DECLARE @HowManyLastTime int

SET @HowManyLastTime = 1

WHILE @HowManyLastTime <> 2400000
 BEGIN

      SET @HowManyLastTime = @HowManyLastTime +1
    print(@HowManyLastTime)
 END

直到循环结束才显示计数。如何让它在运行时显示计数?

2 个答案:

答案 0 :(得分:2)

要将记录计数和其他数据刷新到客户端,您需要在NOWAIT中使用RaisError。相关问题和链接:

在SSMS中,这将按预期工作。对于其他客户端,在查询执行完成之前,您可能无法从客户端获得响应。

答案 1 :(得分:0)

SQL倾向于“基于集合”,并且您在程序上思考并试图使其系统地行动。在SQL中执行此操作确实没有意义。

我会问你这样做的动机,还有什么可以尝试的更好。