实现 DDL 触发器
本主题介绍了有助于创建 DDL 触发器,修改 DDL 触发器以及禁用或删除 DDL 触发器的信息。
创建 DDL 触发器
DDL 触发器是使用 DDL 触发器的 Transact-SQL CREATE TRIGGER 语句创建的。
创建 DDL 触发器
删除 DDL 触发器
重要提示 |
---|
SQL Server 的未来版本中将删除从触发器返回结果集的功能。返回结果集的触发器可能会引起应用程序出现并非计划中与它们协同工作的意外行为。避免在新的开发工作中从触发器返回结果集,并计划修改当前执行此操作的应用程序。若要在 SQL Server 2008 中防止触发器返回结果集,请将 disallow results from triggers 选项设置为 1。在 SQL Server 的未来版本中,该选项的默认设置将为 1。 |
注意 |
---|
服务器作用域的 DDL 触发器显示在 SQL Server Management Studio 对象资源管理器中的“触发器”文件夹中。此文件夹位于“服务器对象”文件夹下。数据库范围的 DDL 触发器显示在“数据库触发器”文件夹中。此文件夹位于相应数据库的“可编程性”文件夹下。 |
修改 DDL 触发器
如果必须修改 DDL 触发器的定义,只需一个操作即可删除并重新创建触发器,或重新定义现有触发器。
如果更改了由 DDL 触发器引用的对象的名称,则必须修改触发器,以使其文本反映新的名称。因此,在重命名对象之前,需要先显示该对象的依赖关系,以确定所建议的更改是否会影响任何触发器。
也可将触发器修改为对定义进行加密。
修改触发器
查看触发器的依赖关系
禁用和删除 DDL 触发器
当不再需要某个 DDL 触发器时,可以禁用或删除该触发器。
禁用 DDL 触发器不会将其删除。该触发器仍然作为对象存在于当前数据库中。但是,当运行编写触发器程序所用的任何 Transact-SQL 语句时,不会激发触发器。可以重新启用禁用的 DDL 触发器。在启用 DDL 触发器后,该触发器的激发方式与其最初创建时的激发方式相同。创建的 DDL 触发器默认处于启用状态。
删除 DDL 触发器时,该触发器将从当前数据库中删除。DDL 触发器范围内的任何对象或数据均不受影响。
禁用 DDL 触发器
启用 DDL 触发器
删除 DDL 触发器