源代码
- --触发器
- --语法:
- --Create Trigger tr_触发器名称
- --ON 表 After(for)/Instead of 增加删除(delete)修改
- --AS
- --任意的逻辑代码    --存储过程
- --GO
- --IF EXISTS(SELECT *FROM sysobjects WHERE name='tr_grade_insert')
- --DROP TRIGGER tr_grade_inserrt
- --GO
- --CREATE TRIGGER tr_grade_insert
- --ON grade FOR INSERT        --为grade表创建触发器,在你对grade表进行插入操作后触发
- --AS
- --    SELECT *FROM 
- --GO
- --INSERT INTO grade VALUES('')
- --SELECT *FROM INSERTED
- --SELECT *FROM DELETED
- ----两个临时表
- --IF EXISTS(SELECT *FROM SYSOBJECTS WHERE NAME='tr_grade_insert')
- --    DROP TRIGGER tr_grade_insert
- --GO
- --CREATE TRIGGER tr_grade_insert1
- --使用触发器模拟唯一键
- GO
- Create Trigger tr_grade_unique_className
- On grade after insert
- AS
-     declare @cid int,@cname nvarchar(50)    
-     SELECT @cid=classid,@cname=className from inserted
-     IF EXISTS((SELECT COUNT(*)FROM grade where className=@name)>1)
-     begin
-         print '班级名称已经存在,将被删除'
-         delete from grade where classid=@cid
-     end
-     else
-         print '插入成功'
- GO
逻辑图
 
触发器的使用建议
