前言

触发器「trigger」是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法
它是与表事件相关的特殊的存储过程
它的执行不是由程序调用,也不是手工启动,而是由事件来触发,当对一个表进行操作「 insert,delete, update」时就会**它执行

区别

触发器与存储过程的唯一区别是触发器不能执行EXECUTE语句调用,而是在用户执行Transact-SQL语句时自动触发执行

作用

  • 强制数据库间的引用完整性
  • 级联修改数据库中所有相关的表,自动触发其它与之相关的操作
  • 跟踪变化,撤销或回滚违法操作,防止非法修改数据
  • 触发器可以强制比用 CHECK 约束定义的约束更为复杂的约束,与 CHECK 约束不同,触发器可以引用其它表中的列

分类

DML触发器

  • After触发器
    • After触发器要求只有执行某一操作insert、update、delete之后触发器才被触发,且只能定义在表上
    • insert触发器
    • update触发器
    • delete触发器
  • Instead of 触发器
    • Instead of 触发器表示并不执行其定义的操作(insert、update、delete)而仅是执行触发器本身。既可以在表上定义instead of触发器,也可以在视图上定义

应用

【SQL】触发器

  • 问题原因:主外键相互关联,在删除其中一个表中数据时,会判断是否为另一个表中外键并在另一表中含有数据,若有数据则不可删除。由此需要使用触发器。

步骤

  • 右键新建触发器
    【SQL】触发器
    【SQL】触发器
  • 刷新
    【SQL】触发器

结语

使用触发器请慎重,计算机并没有你的小脑袋瓜聪明,触发器是针对表创建的,所以只有在改变你设定的表的状态时才会触发

相关文章:

  • 2021-04-05
  • 2022-02-12
  • 2021-11-15
  • 2022-01-06
猜你喜欢
  • 2022-01-10
  • 2021-11-22
  • 2021-10-15
  • 2022-12-23
  • 2022-12-23
  • 2021-05-18
  • 2021-10-31
相关资源
相似解决方案