PLS-00103: 遇到符号“;”当期望出现以下情况之一时:如果

PLS-00103: Encountered the symbol ";" when expecting one of the following: if

我在这里遇到了一些麻烦..我想我在这里没有犯任何错误..但是我的 PL/SQL 告诉我这个错误..

PLS-00103: 遇到符号“;”当期待 following:if

之一时

下面是我的代码,请帮我解决这个问题:)

CREATE OR REPLACE TRIGGER trg_tb_goods
AFTER INSERT OR UPDATE OR DELETE 
ON tb_sales_details
FOR EACH ROW
DECLARE
v_gq NUMBER;
BEGIN 
IF INSERTING THEN 
SELECT quantity 
INTO v_gq
FROM tb_goods
WHERE goods_id = :NEW.goods_id;
UPDATE tb_goods 
SET quantity = v_gq - :NEW.quantity 
WHERE goods_id = :NEW.goods_id;
END IF;
IF UPDATING THEN 
SELECT quantity 
INTO v_gq
FROM tb_goods
WHERE goods_id = :OLD.goods_id;
UPDATE tb_goods 
SET quantity = v_gq + :OLD.quantity 
WHERE goods_id = :OLD.goods_id;
SELECT quantity 
INTO v_gq
FROM tb_goods
WHERE goods_id = :NEW.goods_id;
UPDATE tb_goods 
SET quantity = v_gq - :NEW.quantity 
WHERE goods_id = :NEW.goods_id;
END IF;
IF DELETING THEN
SELECT quantity 
INTO v_gq
FROM tb_goods
WHERE goods_id = :OLD.goods_id;
UPDATE tb_goods 
SET quantity = v_gq + :OLD.quantity 
WHERE goods_id = :OLD.goods_id;
ENDIF;
END;
/

谢谢..

不是ENDIF;而是END IF;(在该代码的最后)。