SQL Server返回代码-6,这是什么意思

本文关键字:是什么 意思 Server 返回 代码 SQL | 更新日期: 2023-09-27 18:05:05

我有一个没有问题的存储过程,即返回代码为0。在某些情况下,我RAISERROR用户定义的错误(> 50000)。在这些情况下,返回值是-6。我很好奇-6是什么意思?我没有在过程中设置返回码,所以这个数字是SQL Server (system)生成的。

我发现了这个语句:

这些负数是否有任何意义,有点难以判断告诉。以前的情况是,返回值-1到-99是保留用于系统生成的返回值,而Books Online用于早期版本的SQL Server指定了-1到值的含义-14年。然而,SQL 2000的Books Online没有提到这些保留,并且没有解释-1到-14的含义。

有人知道这些返回代码的"隐藏"含义吗?

SQL Server返回代码-6,这是什么意思

好的,我找到了这个…

存储过程出错时的返回值

If you have a RETURN statement with an explicit return value, that is of course the return value.

但是如果没有RETURN语句,但是在执行时,返回值是10减去事件的严重性级别错误。除以0是第16级,因此返回值是-6。权限错误是典型的14级,因此返回值为-4。

在我的例子中,我所引发的错误的严重程度是16,所以10 - 16 = -6。

感谢大家的意见。