【问题标题】:Few errormessager in one raiserrror一个raiserrror中很少有错误消息
【发布时间】:2015-08-26 09:17:59
【问题描述】:

我有以下问题,我需要从我的 if 语句中显示一些错误消息。例如,如果满足 3 个条件中的 2 个,我需要 raisevent 显示 2 条消息。

IF @var1 > 1
BEGIN 
    SET @err = 'ASD'
END

IF @var1 <4
BEGIN 
    SET @err = 'ZXC'
END

IF @var = 3
BEGIN
   SET @err = 'QWE'
END

对于@var1 = 2

我需要在一个 raiserror 中显示 2 条错误消息。我怎样才能做到这一点?

【问题讨论】:

  • 您想发起 2 个单独的事件?还是一个包含错误消息的事件?

标签: tsql raiserror


【解决方案1】:

您的代码在 BEGIN CACTH 块内吗? 像这样严重程度小于 11 的错误如何引发:

IF @var1 > 1
BEGIN 
    SET @err = 'ASD';
    RAISEERROR(@err, <your_severity>, <state>)
END

IF @var1 <4
BEGIN 
    SET @err = 'ZXC'
    RAISEERROR(@err, <your_severity>, <state>)
END

IF @var = 3
BEGIN
   SET @err = 'QWE'
   RAISEERROR(@err, <your_severity>, <state>)
END

或者结合message_erorr:

IF @var1 > 1
BEGIN 
    SET @err += ' ASD'; 
END

IF @var1 <4
BEGIN 
    SET @err += ' ZXC'
END

IF @var = 3
BEGIN
   SET @err += ' QWE'
END

RAISEERROR(@err, <your_severity>, <state>)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-16
    • 1970-01-01
    • 2015-01-19
    • 2017-01-05
    • 2020-12-01
    • 1970-01-01
    • 2016-10-11
    • 1970-01-01
    相关资源
    最近更新 更多