首页 > 数据库技术 > 详细

sql sever 2008 触发器的问题

时间:2015-05-14 16:31:05      阅读:240      评论:0      收藏:0      [点我收藏+]
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 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

sql sever 2008 触发器的问题

原文:http://blog.csdn.net/hhooong/article/details/45721815

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!