SQL Server数据库触发器

触发器的主要作用就是能够完成主键和外键不能保证的复杂的数据完整性和数据一致性的约束,触发器可以对数据表进行级联操作,提供比CHECK约束更为复杂的数据完整性

触发器主要有以下优点:

  1. 触发器是自动执行的,一旦设立就存在一种触发机制,永远监控着数据库的事件状态。
  2. 触发器可以对数据库中的表进行层叠更改。
  3. 触发器可以设置比CHECK更为复杂的约束限制。触发器还可以对不同表中的约束进行引用。

 

--在xs表中创建safty触发器,拒绝用户对数据库中的表进行删除和更改操作。

 

SQL Server数据库触发器_第1张图片

解析:ON关键字后面的DATABASE指的是此触发器的作用域,Drop_Table、Alter_Table指定DDL触发器的触发事件,当前触发条件为删除表和修改表。

创建完成触发器执行删除表操作:

上面的触发器作用在xs数据库中,如果想让整个数据库服务器都收到DDL触发器的约束,可以创建作用在服务器中的触发器。

SQL Server数据库触发器_第2张图片

执行删除操作,测试触发器的创建:

实现级联操作

在SQL Server中可以通过触发器对有关系的表进行级联操作,使用触发器对表中的数据进行级联更新、级联删除。

在xs表上创建一个触发器trigcategorydelete,要求在对xs表上的数据进行删除操作时级联删除xk表中信息。

SQL Server数据库触发器_第3张图片

执行代码创建触发器后,执行删除语句触发该触发器:

 

你可能感兴趣的:(SQL_Server,数据库)