如果 RAISERROR 与已弃用的一样好,那么您应该如何刷新 PRINT 缓冲区?

J. *_*ini -1 sql-server t-sql raiserror

RAISERROR与已弃用一样好。文档

新的应用程序应该使用THROW而不是RAISERROR.

然而,它通常用于刷新打印缓冲区

假设我正在编写一个很长的存储过程,并且我想要定期报告它所处的步骤。如果RAISERROR这是不可能的,我应该如何PRINT摆脱它?

假设 SQL Server 版本相对较新。就说2019年吧。

Eri*_*ing 9

很多东西都被弃用了

对于微软来说,这仅仅意味着它们不再积极地进一步开发。但这些东西都没有真正从产品中提取出来。

RAISERROR没有在任何地方被列为已弃用。

不在这里:

除了这个注释:

坚果

它也没有列在这里:

SELECT
    pc.*
FROM sys.dm_os_performance_counters AS pc
WHERE object_name LIKE 'SQLServer:Deprecated Features%'
ORDER BY
    pc.instance_name;
Run Code Online (Sandbox Code Playgroud)

您不会面临无法使用它的任何危险。如果您查看正式弃用的内容列表,您会发现几乎所有这些内容仍然存在于 SQL Server 2022 的产品中。

对于微软来说,完全删除任何东西是相当困难的,即使是提前多年通知,因为如果某些已经工作了 20 多年的东西突然停止工作,将会引起大量的尖叫。

  • 好吧,这个问题没有实际意义,因为没有理由不使用 RAISERROR。 (2认同)