好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

sql sever 2008 触发器的问题


   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测试数据/link?url=_YRBfiyFMNwkssAs4c9nV8MNa3VK6pUuos2rtXZ_C-NV_8VRdMyG_BYe8BMZZeJPMenMgucoUlfGx_e6fjH94K

sql sever 2008 触发器的问题

标签:sql server 2008   触发器   new.sal   

查看更多关于sql sever 2008 触发器的问题的详细内容...

  阅读:30次