触发器

来源:互联网 发布:win10网络不可用红叉 编辑:程序博客网 时间:2024/06/05 15:19

1、概念

触发器是一种特殊的存储过程。
它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。
所以触发器可以用来实现对表实施复杂的完整性约束。

触发时间:before,after.
触发事件:insert,update,delete三种。
触发类型:行触发、语句触发

DML触发器分为:

1、 after(之后触发)    a、 insert触发器    b、 update触发器    c、 delete触发器2、 instead of (之前触发)

2、语法

create trigger tgr_nameon table_namewith encrypion –加密触发器    for update as    Transact-SQL

增删改之前触发:

for update/insert/delete 

增删改之后触发:

for instead of update/insert/delete

3、代码示例

--创建insert插入类型触发器if (object_id('tgr_classes_insert', 'tr') is not null)    drop trigger tgr_classes_insertgocreate trigger tgr_classes_inserton classes    for insert --插入触发as    --定义变量    declare @id int, @name varchar(20), @temp int;    --在inserted表中查询已经插入记录信息    select @id = id, @name = name from inserted;    set @name = @name + convert(varchar, @id);    set @temp = @id / 2;        insert into student values(@name, 18 + @id, @temp, @id);    print '添加学生成功!';go--插入数据insert into classes values('5班', getDate());--查询数据select * from classes;select * from student order by id;
原创粉丝点击