【发布时间】:2010-12-01 21:14:41
【问题描述】:
我正在 SQL Server 2008 中编写用户定义函数。我知道函数不能以通常的方式引发错误 - 如果您尝试包含 RAISERROR 语句 SQL 返回:
Msg 443, Level 16, State 14, Procedure ..., Line ...
Invalid use of a side-effecting operator 'RAISERROR' within a function.
但事实是,该函数需要一些输入,这可能是无效的,如果是,则该函数无法返回有意义的值。那我该怎么办?
当然,我可以返回 NULL,但任何使用该函数的开发人员都很难解决此问题。我也可能导致除以零或类似的东西 - 这会产生错误消息,但会产生误导。有什么方法可以让我以某种方式报告自己的错误消息?
【问题讨论】:
标签: sql sql-server tsql sql-server-2008 user-defined-functions