Oracle: Using subquery in a trigger

前端 未结 3 1253
梦毁少年i
梦毁少年i 2021-01-13 16:14

How can I work around the Oracle\'s limitation of not allowing subqueries in triggers.

Here\'s an example trigger I\'m trying to create, but am unable to because I c

3条回答
  •  傲寒
    傲寒 (楼主)
    2021-01-13 17:09

    I expect that you want something like

    CREATE OR REPLACE TRIGGER trigger_w_subquery
    AFTER UPDATE OR INSERT ON project_archiving
    FOR EACH ROW 
    WHEN (old.archiving_status <> new.archiving_status
      AND new.archiving_status = 1)
    DECLARE
      l_offer projects.offer%TYPE;
    BEGIN
      SELECT offer 
        INTO l_offer
        FROM projects 
       WHERE projnum = :new.projnum;
    
      IF( l_offer IS NULL )
      THEN
        INSERT INTO offer_log (offer, status, date)
          VALUES (null, 9, sysdate);
      END IF;
    END;
    

提交回复
热议问题