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;
END IF;
END;
提示“BEFORE附近有语法错误”“关键字THEN附近有语法错误”?
这也是我今天遇到的问题,在百度搜索很多人遇到这个问题,有些人说解决办法是将as begin的as去掉,但是这方法在我的sql server 2008里面还是不行
上面这行代码应该是oracle数据库里的,到了sql sever需要改动
create
trigger
insert_or_update_sal
ON
Teacher
for
insert
as
begin
if exists(
select
1
from
inserted
where
Job=
'教授'
and
Sal<4000)
begin
update
Teacher
set
Sal = 4000
from
inserted i
where
Teacher.Ename = i.Ename
and
i.Job=
'教授'
and
i.Sal < 4000
end
end
希望能帮到后续遇到这问题的人,顺便贴上百度到的一个东西,应该能有帮助
http://zhidao.baidu.com/link?url=_YRBfiyFMNwkssAs4c9nV8MNa3VK6pUuos2rtXZ_C-NV_8VRdMyG_BYe8BMZZeJPMenMgucoUlfGx_e6fjH94K