所以我有一个函数给定用户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'
我认为问题在于db不知道USRID是激活触发器的INSERT的用户ID。我怎么解决这个问题? 表格WEIGHTS具有用户ID(编号),日期和权重(编号)。
此致
答案 0 :(得分:1)
尝试使用:new.id
代替USRID
并添加FOR EACH ROW
。