源代码
--触发器
--语法:
--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
逻辑图
触发器的使用建议