设为首页 加入收藏

TOP

sqlsever 2008触发器的问题
2015-07-24 10:39:44 来源: 作者: 【 】 浏览:1
Tags:sqlsever 2008 触发器 问题
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

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇linux下安装postgre sql并配置远.. 下一篇sqlserver2008出现数据库主体在该..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·About - Redis (2025-12-26 08:20:56)
·Redis: A Comprehens (2025-12-26 08:20:53)
·Redis - The Real-ti (2025-12-26 08:20:50)
·Bash 脚本教程——Li (2025-12-26 07:53:35)
·实战篇!Linux shell (2025-12-26 07:53:32)