Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server TSQL将错误作为警告_Sql Server_Tsql_Throw_Raiserror - Fatal编程技术网

Sql server TSQL将错误作为警告

Sql server TSQL将错误作为警告,sql-server,tsql,throw,raiserror,Sql Server,Tsql,Throw,Raiserror,我正在浏览微软70-761考试的问题,我遇到了一个麻烦的问题。问题要求“生成一个警告if” 显然,我应该使用RAISERROR(或THROW)语句。我的问题是-我应该使用什么严重性来满足这个要求 我知道16是THROW的默认值,但我不想把它称为警告。如果将严重性设置为10,则可能更合适RAISERROR 您只需查看文档即可: 基本上,您的答案应该是RAISERROR,严重程度为0-10(或者更确切地说,为0-9) 使用THROW无法处理严重性,因为默认的严重性为16。因此,它不能用于抛出警告。您

我正在浏览微软70-761考试的问题,我遇到了一个麻烦的问题。问题要求“生成一个警告if”

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


我知道16是
THROW
的默认值,但我不想把它称为警告。如果将严重性设置为10,则可能更合适
RAISERROR

您只需查看文档即可:

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


使用
THROW
无法处理严重性,因为默认的严重性为16。因此,它不能用于抛出警告。

您要查找的SQL:

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

如果您希望在任何周围事务完成之前显示消息,则NOWAIT的
部分非常重要。

我在提出此问题之前阅读了本文。我更关心的是“警告”这个词本身。我仍然不确定我是应该用10分,还是两周前我自己通过了这次考试。如果你遇到这样的问题,你会得到不同的答案来选择正确的答案。它可能是
RAISERROR
,严重性为0-10,并且没有将消息本身添加到系统消息中。然而,如果没有这样的答案,但是有一个先将错误添加到系统消息中的答案,那么如果语法正确,这也是正确的。通常情况下,0-10严重性不会出错,所有警告都是SSMS结果窗口消息选项卡中打印的警告,不会中断事务。
DECLARE @messageString varchar(max)     
set @messageString = 'Warning: The time is ' + convert(varchar(max), getdate(), 120) 
RAISERROR(@messageString,0,0) WITH NOWAIT