SQL Server 2000 中的语法错误 触发器

来源:百度知道 编辑:UC知道 时间:2024/06/16 06:47:29
create trigger insert_or_update_stu_info
on stu_info INSTEAD OF insert , update
as begin
if inserted.age <12 begin inserted.mark ='青少年' end
else if(inserted.age<18) begin inserted.mark='少年' end
else if (inserted.age<36) begin inserted.mark='壮年' end
else if(inserted.age<50) begin inserted.mark='中年' end
else begin inserted.mark='老年' end
end
go

运行环境:SQL Server 2000
错误提示:
服务器: 消息 170,级别 15,状态 1,过程 insert_or_update_stu_info,行 4
第 4 行: 'inserted' 附近有语法错误。
服务器: 消息 170,级别 15,状态 1,过程 insert_or_update_stu_info,行 5
第 5 行: 'inserted' 附近有语法错误。
服务器: 消息 170,级别 15,状态 1,过程 insert_or_update_stu_info,行 6
第 6 行: 'inserted' 附近有语法错误。
服务器: 消息 170,级别 15,状态 1,过程 insert_or_update_stu_info,行 7
第 7 行: 'inserted' 附近有语法错误。

请高手指教,谢谢!

begin/end没问题的

问题出在每行的
inserted.mark ='青少年'

inserted表是只读不能改的
你只能重新写update语句来改stu_info表的内容

把4567行的END去掉试试。我猜的。哈哈。

把45678的begin和end都去掉, 如果非要要那么在begin后的语句请换行.