【发布时间】:2013-06-17 02:08:48
【问题描述】:
我已经和这个触发器斗争了一段时间,我试图将旧股票,新股票发送到表“MOVIMIENTO”,它们之间的区别以及它是什么类型的操作,唯一的问题是我在第 12 行得到 ORA-00984 错误,在第 11 行忽略 sql 语句,有什么想法吗?
CREATE OR REPLACE TRIGGER TRG_MOVIMIENTO
AFTER UPDATE OF "STOCK" ON PRODUCTO
FOR EACH ROW
DECLARE
v_tmov VARCHAR2(7);
v_cant NUMBER(6);
BEGIN
v_cant:=:OLD.STOCK-:NEW.STOCK;
IF :OLD.STOCK>:NEW.STOCK THEN
v_tmov:='SALIDA';
ELSE
v_tmov:='ENTRADA';
END IF;
INSERT INTO MOVIMIENTO(N_MOV,TIPO_MOV,STOCK_NEW,STOCK_OLD,CANT_MOV)
VALUES(s_NUMEROMOV.nextval,v_tmod,:NEW.STOCK,:OLD.STOCK,v_cant);
END;
/
【问题讨论】:
标签: plsql