2

SQL Server 2012 不支持 RAISEERROR

RAISERROR 44444 'Field ''CostCodeId'' cannot contain a null value.'

如何更改语法以使其支持 sql server 2012。任何替代方案请帮助。

4

2 回答 2

1

在 SQL 2012 中,您应该使用 THROW。

这是 SQL Server 2012 中的链接New THROW 语句

于 2014-11-13T16:28:39.657 回答
0

对于任何新的开发工作,开始使用 THROW,如果可能的话,开始用 THROW 替换 RAISERROR,因为它可以在未来的任何时候被替换(但我不认为在不久的将来)。

RAISERROR 在 SQL Server 2012 中被弃用并被 THROW 取代,在新版本的 SQL Server 中它可能完全被 THROW 取代。

对于 RAISERROR,必须提供诸如 error_message、error_number、error+severity 之类的参数,但对于 THROW,所有参数都是可选的。THROW 从新的和改进的错误处理机制中获取所有这些信息,并在出现任何异常时将信息返回给用户。

于 2015-02-03T11:05:22.713 回答