【发布时间】:2013-01-30 18:31:37
【问题描述】:
所以我有一个函数,给定一个用户 id,根据他上次的体重测量计算他的 bmi(体重指数)(我有一个记录所有测量结果的表),我想编写一个触发器,每次用户插入他的体重,触发器检查用户的体重指数是否低于限制。功能还可以,但我无法让触发器工作,这就是我所拥有的:
1 CREATE OR REPLACE
2 TRIGGER BMITG
3 AFTER INSERT ON WEIGHTS
4 BEGIN
5 IF BMI(USRID)>25
6 THEN raise_application_error(-20001,'Please control your weight.');
7 END IF;
8 END;
但我得到了错误: 错误(6,3):PL/SQL:语句被忽略 错误(6,10):PLS-00201:必须声明标识符“IDENT”
我认为问题在于数据库不知道 USRID 是激活触发器的 INSERT 的用户 ID。我怎么解决这个问题? 顺便说一句,WEIGHTS 表有一个用户 ID(数字)、一个日期和一个重量(数字)。
问候
【问题讨论】: