所以我有一个函数,给定一个用户 id,根据他最后的体重测量值计算他的 bmi(体重指数)(我有一个记录所有测量值的表),我想编写一个触发器,每次用户插入他的体重时,触发器检查用户 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(数字)、一个日期和一个重量(数字)。
问候