请问FOR INSERT型的带条件判断的触发器怎么写?谢谢

假如在表employee里有个字段bh (int),是主键,无重复,但不是标识种子,是由新增的时候设定!没其他种子字段!

另一个表t_employee,有两个字段bh (int)和in_service (bit),in_service的值是1或0。

希望在employee里每当新增多一条记录,也就是说多一个bh的时候,即时查找表t_employee里是否存在相同bh的记录:
1、如果没有的话就自动加多该条记录,要求in_service的值是1;
2、如果存在该bh记录的话,那就该条记录的in_service的值设置为1。

请问这样的触发器怎么写呢?

---------------------------------------------------------------

CREATE TRIGGER employee_Trigger
ON dbo.employee
FOR INSERT/* INSERT, UPDATE, DELETE */
AS
BEGIN
declare @bh int
SELECT @bh=bh FROM INSERTED
IF NOT EXISTS(SELECT * FROM t_edu_lesson WHERE bh=@bh)
INSERT INTO t_edu_lesson (bh, in_service ) VALUES (@bh , '1')
else
update t_edu_lesson set in_service='1' where bh=@bh
END

Published At
Categories with Web编程
comments powered by Disqus