我正在 SQLServer2008中编写一个用户定义函数。我知道函数不能以通常的方式引发错误-如果你尝试包含 RAISERROR 语句 SQL 返回:
Msg 443, Level 16, State 14, Procedure ..., Line ...
Invalid use of a side-effecting operator 'RAISERROR' within a function.
但事实是,该函数接受一些输入,这些输入可能是无效的,如果是无效的,则该函数不能返回任何有意义的值。那我该怎么办?
当然,我可以返回 NULL,但是对于任何使用该函数进行故障排除的开发人员来说都是困难的。我也可以导致除以零或类似的东西-这将产生一个错误消息,但误导之一。有没有什么方法可以报告我自己的错误消息?