sql plus触发器运行错误
代码是书上的:
CREATE OR REPLACE TRIGGER t_verifysalary
BEFORE UPDATE ON emp
FOR EACH ROW
WHEN(new.sal>old.sal)
DECLARE
v_sal NUMBER;
BEGIN
IF UPDATING ('sal') THEN
v_sal := :NEW.sal - :OLD.sal;
DELETE FROM emp_history
WHERE empno = :OLD.empno;
INSERT INTO emp_history
VALUES
(:OLD.empno, :OLD.ename, :OLD.job, :OLD.mgr, :OLD.hiredate,:OLD.sal, :OLD.comm, :OLD.deptno);
UPDATE emp_history
SET sal = v_sal
WHERE empno = :NEW.empno;
END IF;
END;
/
放到sqlplus里面会报错:
警告: 创建的触发器带有编译错误。
SQL> show errors
TRIGGER T_VERIFYSALARY 出现错误:
LINE/COL ERROR
8/7 PL/SQL: SQL Statement ignored
8/19 PL/SQL: ORA-00947: 没有足够的值
SQL>
怎么回事呢