यह ट्रिगर यह करेगा:
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;
मैंने माना है कि परियोजनाओं से चयन हमेशा एक पंक्ति पायेगा; यदि नहीं, तो यह एक NO_DATA_FOUND अपवाद उत्पन्न करेगा जिसे आपको संभालने की आवश्यकता हो सकती है।