相关疑难解决方法(0)

如何从SQL Server用户定义的函数报告错误

我正在SQL Server 2008中编写一个用户定义的函数.我知道函数不能以通常的方式引发错误 - 如果您尝试包含RAISERROR语句SQL返回:

Msg 443, Level 16, State 14, Procedure ..., Line ...
Invalid use of a side-effecting operator 'RAISERROR' within a function.
Run Code Online (Sandbox Code Playgroud)

但事实是,该函数需要一些输入,这可能是无效的,如果是,则函数可以返回没有有意义的值.那我该怎么办?

当然,我可以返回NULL,但是使用该函数的任何开发人员都很难对此进行故障排除.我也可能导致除零或类似的东西 - 这会产生错误信息,但会产生误导性信息.有什么方法可以以某种方式报告我自己的错误消息吗?

sql t-sql sql-server user-defined-functions sql-server-2008

143
推荐指数
7
解决办法
6万
查看次数

在SQL SERVER 2008中的检查约束中创建自定义错误消息

我希望能够将自定义错误消息附加到CONSTRAINT对象,特别是CHECK constrints.直接或通过sysmessages中的自定义错误号.

我见过开发人员必须创建触发器.我认为这不是实施它的好理由.

我正在使用SQL SERVER 2008.

database sql-server check-constraints sql-server-2008

13
推荐指数
2
解决办法
1万
查看次数