mercredi 17 avril 2019

Subquery in trigger value

I am creating a trigger in PLSQL:

CREATE OR REPLACE TRIGGER ALS_INT_WH_CFA_EXT_AIUDR
    AFTER DELETE OR INSERT OR UPDATE
    ON WH_CFA_EXT
    FOR EACH ROW
DECLARE
    v_wh   NUMBER := NULL;
BEGIN
    v_wh := :new.wh;

    IF (v_wh IN (SELECT wh
                   FROM wh
                  WHERE wh != physical_wh))
    THEN
        INSERT INTO WH_MFQUEUE_TEST (SEQ_NO,
                                     WH,
                                     MESSAGE_TYPE,
                                     FAMILY,
                                     PUB_STATUS,
                                     TRANSACTION_NUMBER,
                                     TRANSACTION_TIME_STAMP)
             VALUES (WH_MFSEQUENCE.NEXTVAL,
                     :new.wh,
                     'whmod',
                     'WH',
                     'U',
                     1,
                     SYSDATE);
    END IF;
END;
/

It should me the error:

Error(7,13): PLS-00405: subquery not allowed in this context

How do I use subquery in this case?

Aucun commentaire:

Enregistrer un commentaire