在PL / SQL中调用触发函数内部触发器

时间:2013-01-30 18:31:37

标签: function plsql triggers

所以我有一个函数给定用户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(编号),日期和权重(编号)。

此致

1 个答案:

答案 0 :(得分:1)

尝试使用:new.id代替USRID并添加FOR EACH ROW