通过T-SQL更改所有触发器

时间:2013-04-08 01:07:56

标签: sql sql-server tsql triggers

有没有办法使用循环T-SQL或C#代码更新/更改所有触发器?我也需要更新数据库中的所有触发器,因为RAISERROR命令在sql server 2012中已更改。

2 个答案:

答案 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'

所以你将使用它创建声明......