SQL Server:PRINT输出不会立即出现

时间:2008-12-08 12:24:58

标签: sql-server

在SQL Server 2005 Management Studio中,PRINT语句的输出似乎不会立即出现:如果我有一个PRINT语句后跟一个长时间运行的语句,PRINT输出直到以下语句后才出现

有没有办法提前刷新输出?我正在运行一些需要花费时间才能完成的升级脚本,我想知道脚本有多远(所以我知道是等待几分钟然后开始下一个,还是去吃午餐)。

2 个答案:

答案 0 :(得分:90)

没有。它们仅在提交事务,返回其他记录集或语句完成时返回(SQL批处理中为go语句终止符)。您可以在非致命错误级别(0-18)使用raiserror来获得此类的即时反馈。例如:

RAISERROR ('Foo', 10, 1) WITH NOWAIT

答案 1 :(得分:0)

谢谢!并提供一个用于打印选项的略微mod,以吐出一条消息,而不会跟踪错误信息

SELECT t1.QUANTITY,
  , t1.[TURNOVER WITHOUT TAX]
  , t2.SPLIT
  , CAST(CAST(QUANTITY AS numeric(32, 18)) * CAST(SPLIT AS numeric(32,18)) 
        AS numeric(32, 9)) [QUANTITY2]
  , CAST(CAST([TURNOVER WITHOUT TAX] AS numeric(32, 18)) * CAST(SPLIT AS numeric(32,18)) 
        AS numeric(32, 9)) [TURNOVER_WITHOUT_TAX2]