TSQL RAISERROR 作为警告
TSQL RAISERROR as warning
我正在查看 Microsoft 的 70-761 考试的问题,我遇到了一个麻烦的问题。问题问到 'produce a warning if '.
很明显我应该使用RAISERROR
(或THROW
)语句。我的问题是——我应该使用什么严重性来满足这个要求?
我知道 16 是 THROW
的默认值,但我不愿将其称为警告。也许 RAISERROR
严重性设置为 10 会更合适?
基本上你的答案应该是 RAISERROR
,严重程度为 0-10(或者更确切地说,0-9)。
使用 THROW
您无法处理严重性,因为默认值是 16。因此,它不能用于发出警告。
您正在寻找的SQL人:
RAISERROR('Warning: <your message>', 0,0) WITH NOWAIT
如果您需要消息中的任何内容 "dynamic",您需要类似的内容:
DECLARE @messageString varchar(max)
set @messageString = 'Warning: The time is ' + convert(varchar(max), getdate(), 120)
RAISERROR(@messageString,0,0) WITH NOWAIT
WITH NOWAIT
部分很重要,如果您希望消息在任何周围事务完成之前出现。
我正在查看 Microsoft 的 70-761 考试的问题,我遇到了一个麻烦的问题。问题问到 'produce a warning if '.
很明显我应该使用RAISERROR
(或THROW
)语句。我的问题是——我应该使用什么严重性来满足这个要求?
我知道 16 是 THROW
的默认值,但我不愿将其称为警告。也许 RAISERROR
严重性设置为 10 会更合适?
基本上你的答案应该是 RAISERROR
,严重程度为 0-10(或者更确切地说,0-9)。
使用 THROW
您无法处理严重性,因为默认值是 16。因此,它不能用于发出警告。
您正在寻找的SQL人:
RAISERROR('Warning: <your message>', 0,0) WITH NOWAIT
如果您需要消息中的任何内容 "dynamic",您需要类似的内容:
DECLARE @messageString varchar(max)
set @messageString = 'Warning: The time is ' + convert(varchar(max), getdate(), 120)
RAISERROR(@messageString,0,0) WITH NOWAIT
WITH NOWAIT
部分很重要,如果您希望消息在任何周围事务完成之前出现。