SQL server 触发器

触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程。触发器主要是通过事件进行触发被自动调用执行的。而存储过程可以通过存储过程的名称被调用。

Ø 什么是触发器

    触发器对表进行插入、更新、删除的时候会自动执行的特殊存储过程。触发器一般用在check约束更加复杂的约束上面。触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作。诸如:update、insert、delete这些操作的时候,系统会自动调用执行该表上对应的触发器。

   一个表的一个动作只能有一个触发器。

创建一个数据库,两个表

create table users

(

ids int primary key identity(1,1),

name nvarchar(10),

class nvarchar(10),

)

create table class

(

class_code nvarchar(10) primary key,

class_name nvarchar(10),

)

delete from users where ids=1  这是准备触发触发器的句子

第一种方法针对的动作执行之后,执行触发器

create trigger users_delete ——对users表的delete动作建立一个触发器(名字)

on users ——   on  哪一个表

for delete ——for   哪一个动作之后

as    检测到delete动作执行之后

select * from users —— 执行什么动作

第二种方法把针对的动作替换成触发器里的句子,不会执行那个动作

create trigger users1_delete    

on users

instead of delete   --instead of 哪一个动作之前

as

select * from users(如果吧users换成deleted,就可把要删除的那个数据显示出来)

两种方法其实就是一个在执行前触发,一个再执行后触发。执行后触发比较保险。

 

 
原文地址:https://www.cnblogs.com/big-lll/p/6566362.html