sql >> Databasteknik >  >> RDS >> Oracle

Oracle:Använder subquery i en trigger

Denna utlösare skulle göra det:

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;

Jag har antagit att urvalet från projekt alltid kommer att hitta en rad; om inte kommer det att skapa ett NO_DATA_FOUND undantag som du kan behöva hantera.



  1. Vad är storleksgränsen för en Query/View-tabell i MySQL?

  2. Hur begränsar jag antalet rader som returneras av en Oracle-fråga efter beställning?

  3. Postgres-ordning av UTF-8-tecken

  4. vad hindrar PHP från att ansluta till min MySQL-databas?