sql - SQL Server 数据库级触发器和服务器级触发器的区别

标签 sql sql-server

谁能告诉我 SQL Server 中数据库级触发器和服务器级触发器之间的区别吗?

提前致谢。

最佳答案

SQL Server 2005 引入了 DML 触发器,可以将其设置为在您选择的 DDL 事件上触发,例如 CREATE_TABLEALTER_TABLEDROP_TABLEALTER_DATABASECREATE_LOGIN

DDL触发器可以在2个范围内设置:

  1. 服务器范围:使用服务器范围创建的触发器必须以服务器 DDL 事件为目标,例如 CREATE_DATABASE 或 CREATE_LOGIN
  2. 数据库范围:使用数据库范围创建的触发器必须针对数据库级事件,例如 CREATE_TABLE 或 ALTER_PROC。

在 msdn here 上查看 SQL Server DDL 触发器事件的完整列表(包括其范围) .

DDL 触发器的语法:

CREATE TRIGGER [TriggerName]
ON [Scope (Server|Database)]
FOR [EventName...],
AS
-- code for your trigger response here

关于sql - SQL Server 数据库级触发器和服务器级触发器的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35146754/

相关文章:

sql - 如何选择几列之一等于某个值的行?

SQL 连接问题 : Third table's fields not displaying in Excel but in SQL

c# - 数据库层缓存、触发器和失效

mysql - sql server中mysql的from_days()相当于什么?

sql - SQL 查询更新需要帮助

sql-server - 如何使用 SQL 从 Active Directory 获取多值数据

c++ - QODBCResult::exec:无法执行语句:“[Microsoft][ODBC SQL Server Driver]COUNT 字段不正确或语法错误

sql - 连接两个表并连接单个字段的多行

sql-server - 表级备份

PHP SQL Server 连接工作或不工作