TSQL RAISERROR为警告

时间:2018-03-31 20:25:04

标签: sql-server tsql throw raiserror

我正在查看微软70-761考试的问题,我遇到了一个麻烦的问题。如果'。

,问题会产生警告

显然我应该使用RAISERROR(或THROW)语句。我的问题是 - 我应该用什么严重程度来满足这个要求?

我知道THROW默认为16,但我不愿意将其称为警告。将严重性设置为10的RAISERROR更合适?

2 个答案:

答案 0 :(得分:1)

您应该只是查看文档:{​​{3}}

基本上你的答案应该是RAISERROR,严重程度为0-10(或者更确切地说是0-9)。

使用THROW,您无法处理严重性,因为默认值为16.因此,它无法用于发出警告。

答案 1 :(得分:0)

您要查找的SQL:

RAISERROR('Warning: <your message>', 0,0) WITH NOWAIT

如果您需要消息中的任何“动态”内容,则需要以下内容:

DECLARE @messageString varchar(max)     
set @messageString = 'Warning: The time is ' + convert(varchar(max), getdate(), 120) 
RAISERROR(@messageString,0,0) WITH NOWAIT

WITH NOWAIT部分很重要,如果您希望消息在任何周围的交易完成之前出现。