CREATE OR REPLACE TRIGGER updatetrigger
BEFORE UPDATE ON EMP
FOR EACH ROW
DECLARE
v_numNUMBER;
BEGIN
SELECTcount(*) INTO v_num FROM emp
WHERE deptno = :new.deptno;
IF (v_num > 7) THEN
RAISE_APPLICATION_ERROR(-20001, '员工数多于'||v_num);
END IF;
END updatetrigger;
我创建了个触发器,更新数据的时候触发了触发器,为什么警告信息不是 '员工多于7'
而是
ORA-04091: 表 SCOTT.EMP发生了变化, 触发器/函数不能读它
ORA-06512:在 "SCOTT.UPDATETRIGGER",line 4
ORA-04088:触发器 'SCOTT.UPDATETRIGGER'执行过程中出错
能不能帮我改进一下上述触发器,更新时员工多于7人则出现自定义报错信息(老师要求触发器实现) 谢谢!