---什么是触发器
-------是一个特殊的存储过程,但是这个存储过程不由我们调用
-------当执行某个操作的时候,自动的调用
-------DDL触发器(数据库定义语言触发器,比如定义一张表的时候触发一个动作,你添加一个用户的时候触发一个动作 ) DML触发器(数据库操作语言触发器)
------DML触发器
---after触发器(什么什么之后) 执行某个动作以后触发
---instead of触发器 用触发器中的代码代替所有操作
--主要针对增删改查操作完成后续的工作
--语法
create trigger 触发器的名字 on 表名
for,after|instead of
处理类型(update|delete|insert)
as
执行代码
----操作触发器的时候,就是在操作两张“临时的表”inserted与deleted
---做insert 的时候保存 inserted表里
---做delete 的时候保存 deleted表里
---做update的时候 同时保存inserted表和deleted表
-------------------------------------------------------------------------------------
练习1
插入数据的时候返回自增的id
select * from User
insert into trigger.User(name,pwd)
output inserted
value(“张三”“admin”)
--------------------------------------------------------------------------------------
联系2 删除表数据的时候,再把数据加回去
create trigger 触发器名 on 表名
after
delete
as
insert into 表名
(Name,Sex,Age)
select Name,Sex,Age from deleted
go
delete from 表名
-------是一个特殊的存储过程,但是这个存储过程不由我们调用
-------当执行某个操作的时候,自动的调用
-------DDL触发器(数据库定义语言触发器,比如定义一张表的时候触发一个动作,你添加一个用户的时候触发一个动作 ) DML触发器(数据库操作语言触发器)
------DML触发器
---after触发器(什么什么之后) 执行某个动作以后触发
---instead of触发器 用触发器中的代码代替所有操作
--主要针对增删改查操作完成后续的工作
--语法
create trigger 触发器的名字 on 表名
for,after|instead of
处理类型(update|delete|insert)
as
执行代码
----操作触发器的时候,就是在操作两张“临时的表”inserted与deleted
---做insert 的时候保存 inserted表里
---做delete 的时候保存 deleted表里
---做update的时候 同时保存inserted表和deleted表
-------------------------------------------------------------------------------------
练习1
插入数据的时候返回自增的id
select * from User
insert into trigger.User(name,pwd)
output inserted
value(“张三”“admin”)
--------------------------------------------------------------------------------------
联系2 删除表数据的时候,再把数据加回去
create trigger 触发器名 on 表名
after
delete
as
insert into 表名
(Name,Sex,Age)
select Name,Sex,Age from deleted
go
delete from 表名