我有一个存储过程,它验证调用者是否被授权使用给定的参数调用这个存储过程。如果调用者未经授权,我想RAISERROR
使用 ACCESS DENIED 错误号。现在,它不能是错误号 10011(sys.messages 中的访问被拒绝),因为错误号必须大于 50000。我不想使用 sproc 添加相同的消息(英语和本地化文本)sp_addmessage
只是为了重新创建相同的 ACCESS DENIED 错误。这样做的正确方法是什么?
编辑:因为所需的 SQL 代码应该与 SQL Azure 兼容,所以我最终调用RAISERROR
时没有错误号,并在后面的代码中检查默认的 50,000 个错误代码(在 SQL Azure 中,目前不支持sp_addmessage
and sys.messages
)。