sql2005 berore行级触发器

来源:百度知道 编辑:UC知道 时间:2024/09/25 07:30:08
定义一个BEFORE行级触发器,为教师表Teacher定义完整性规则“教授的工资不得少于4000元,如果低于4000元,自动改成4000元”。
CREATE TRIGGER Insert_Or_Update_Sal
BEFORE INSERT OR UPDATE ON Teacher
FOR EACH ROW
AS BEGIN
IF(new.Job=’教授’)AND (new.Sal<4000) THEN
New.Sal:=4000;
AEND IF;
END;
这是课本里的原文,但在sql2005里是错误的,请教一个正确写法

不太理解你所作的触发器应用,不应该用BEFORE,我知道方法使用AFTER,下面的QUERY文已经测试过,可以用:

CREATE TRIGGER update_Sal ON Teacher
AFTER INSERT AS UPDATE Teacher SET Sal = 4000
WHERE Sal < 4000 AND Job = '教授'