0

我从 SQL Server 2012 中的存储过程返回异常,如下所示:

DECLARE @errnum nchar(5), @errmsg nvarchar(2048);
SELECT
@errnum = 51000,--RIGHT('00000' + ERROR_NUMBER(), 5),
@errmsg = @errnum + ' ' + ERROR_MESSAGE();
RAISERROR (@errmsg, 16, 1);

SqlException 在 C# 代码中返回,编号为 50000,其中 is 执行进一步操作。由于某些业务逻辑原因,我需要返回的数字超过 50000。例如,我们使用 THROW 关键字来实现。

THROW 51000,'error',1

我怎样才能做到这一点?

4

1 回答 1

1

您应该为此错误号使用 sp_addmessage 创建用户定义的错误消息,然后使用消息 ID 调用 RAISERROR:

RAISERROR (51000, 16, 1)
于 2013-04-04T11:30:28.247 回答