raiseerror sql server静默消息

raiseerror sql server静默消息,sql,sql-server-2005,Sql,Sql Server 2005,如何在不获取标准消息的情况下在SQL Server触发器中使用回滚转换 “Msg 3609,第16级,状态1,第1行 事务在触发器中结束。批处理已中止。“ 这将返回给客户端。我希望回滚以静默方式完成。我只需要在触发器内实现这一点;i、 e.无需更改c#或.NET代码来捕获错误消息 让我补充一点,这是对最近添加的功能的“肮脏”解决方案。 当我们添加新功能时,客户不喜欢它。我们只是在触发器中终止了更新,而不是紧急发布代码库。 调用代码是客户端应用程序中嵌入的SQL,而不是存储的过程。问题是,触发器中

如何在不获取标准消息的情况下在SQL Server触发器中使用回滚转换

“Msg 3609,第16级,状态1,第1行 事务在触发器中结束。批处理已中止。“

这将返回给客户端。我希望回滚以静默方式完成。我只需要在触发器内实现这一点;i、 e.无需更改c#或.NET代码来捕获错误消息

让我补充一点,这是对最近添加的功能的“肮脏”解决方案。 当我们添加新功能时,客户不喜欢它。我们只是在触发器中终止了更新,而不是紧急发布代码库。
调用代码是客户端应用程序中嵌入的SQL,而不是存储的过程。

问题是,触发器中的回滚意味着在基础表中插入/更新或删除的行恢复了原来的状态,这意味着数据库无法执行原程序要求它执行的操作


您的调用代码是直接更新表,还是调用更新表的存储过程?后者为静默处理回滚提供了更大的范围。

您需要的是一个触发器,它实际上不会对更新的行执行任何操作。

它会不可预知地直接更新表。