我在 SQL Server 2005 中有一个运行时间非常长的存储过程,我正在尝试对其进行调试,并且我正在使用“print”命令来执行此操作。问题是,我只是在存储过程的最后从 SQL Server 获取消息 - 我希望能够刷新消息缓冲区并在存储过程的运行时立即看到这些消息,而不是在存储过程的最末尾。结束。
最佳答案
使用RAISERROR
功能:
RAISERROR( 'This message will show up right away...',0,1) WITH NOWAIT
您不应该用 raiserror 完全替换所有打印。如果某个地方有循环或大光标,只需每次迭代执行一次或两次,甚至每隔几次迭代执行一次。
另外:我第一次了解 RAISERROR 是在这个链接,我现在认为它是 SQL Server 错误处理的权威来源,绝对值得一读:
http://www.sommarskog.se/error-handling-I.html
关于sql-server - 如何在 SQL 中刷新 PRINT 缓冲区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/306945/