触发器:特殊的存储过程。
DML触发器:表级别的触发 delete、insert、update等
DCL触发器
DDL触发器:数据库级别的触发 create、drop、alter等
--DDL触发器
--应用领域对数据对象定义时要执行的特殊存储过程
create trigger tri
--作用级别
on database
--触发事件
for drop_table,alter_table
as
--回滚
rollback tran
print'不允许修改表和删除表';
--删除触发器
drop trigger tri on database
--举例:删除表
drop Table Ts
------------------------------------------------------------------------------------------------------------------------------------------
--DML触发器
create trigger destuallinfo
--触发器作用的表
on Student
--删除了一条数据以后执行
after delete
as
declare @stuid int;
select @stuid=stuid
--deleted临时表结构和on关键字后的表结构相同
--存放刚删除的数据
from deleted;
delete
from score
where stuid=@stuid;
--举例:对Student表删除一条数据
delete
from Student
where Student.stuid=1080
-----------------------------
-----------------------------
create trigger insertinfo
on Student
after insert
as
declare @stuid int;
select @stuid=stuid
from inserted;
insert into score
values(@stuid,1,50);
--举例:对Student表新增一条数据
insert into Student
values('sseg','男','2002-1-1');