有没有办法使用循环T-SQL或C#代码更新/更改所有触发器?我也需要更新数据库中的所有触发器,因为RAISERROR
命令在sql server 2012中已更改。
答案 0 :(得分:3)
您可以将所有触发器编写到文本文件中。参见:
How to Generate Scripts For All Triggers in Database Using Microsoft SQL Server Management Studio
然后,您可以使用文本编辑器替换需要替换的代码。然后,您可以删除触发器并重新创建它们。我不知道你是指你的生产数据库,还是你正在开发的数据库。我假设您已准备好对数据库进行这些重大更改。无论如何,请确保首先备份数据库。
答案 1 :(得分:2)
您可以使用
获取所有触发器SELECT [name] FROM [sys].[triggers]
并遍历每个触发器并执行
EXEC sp_helptext 'TriggerName'
所以你将使用它创建声明......