Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

why does this cause an error? CREATE OR REPLACE TRIGGER mm_return_trg AFTER UPDA

ID: 3718174 • Letter: W

Question

why does this cause an error?

CREATE OR REPLACE TRIGGER mm_return_trg

AFTER UPDATE OF checkin_date ON mm_rental /* After: helps define timing of trigger. UPDATE: event causing trigger to fire */

FOR EACH ROW /* helps define timing of trigger */

BEGIN

IF :OLD.checkin_date IS NOT NULL THEN /* states if old date received data field is NOT empty, continue */

UPDATE mm_rental /* updates mm_rental table */

SET checkin_date = SYSDATE;

UPDATE mm_movie /* updates mm_movie table */

   SET movie_qty = movie_qty+1;

COMMIT;

END IF;

END;

Explanation / Answer

Note : there is a small mistake in the trigger just removed colon in the if statement and removed commit it will works.....if you gets again error you comment the error log....so that i can see that solved that......
Modified trigger....
CREATE OR REPLACE TRIGGER mm_return_trg
AFTER UPDATE OF checkin_date ON mm_rental
Referencing Old As "OLD" New As "NEW"  
FOR EACH ROW
BEGIN
IF OLD.checkin_date IS NOT NULL
THEN
UPDATE mm_rental SET checkin_date = SYSDATE;
UPDATE mm_movie SET movie_qty = movie_qty+1;
END IF;
END;