Bird
0
0

Identify the correct syntax to create an AFTER UPDATE trigger named log_changes on the sales table for audit logging:

easy📝 Syntax Q3 of 15
SQL - Triggers
Identify the correct syntax to create an AFTER UPDATE trigger named log_changes on the sales table for audit logging:
ACREATE TRIGGER log_changes AFTER UPDATE ON sales FOR EACH ROW BEGIN INSERT INTO audit (sale_id, old_amount, new_amount) VALUES (OLD.id, OLD.amount, NEW.amount); END;
BCREATE TRIGGER log_changes BEFORE UPDATE ON sales FOR EACH STATEMENT BEGIN INSERT INTO audit (sale_id) VALUES (NEW.id); END;
CCREATE TRIGGER log_changes AFTER INSERT ON sales FOR EACH ROW BEGIN INSERT INTO audit (sale_id) VALUES (NEW.id); END;
DCREATE TRIGGER log_changes AFTER UPDATE ON sales BEGIN INSERT INTO audit (sale_id) VALUES (OLD.id); END;
Step-by-Step Solution
Solution:
  1. Step 1: Trigger timing and event

    The trigger must be AFTER UPDATE on the sales table.
  2. Step 2: Row-level trigger

    FOR EACH ROW is required to capture each updated row.
  3. Step 3: Correct syntax

    CREATE TRIGGER log_changes AFTER UPDATE ON sales FOR EACH ROW BEGIN INSERT INTO audit (sale_id, old_amount, new_amount) VALUES (OLD.id, OLD.amount, NEW.amount); END; correctly uses OLD and NEW references and proper syntax.
  4. Final Answer:

    Option A -> Option A
  5. Quick Check:

    AFTER UPDATE + FOR EACH ROW + correct OLD/NEW usage [OK]
Quick Trick: Use AFTER UPDATE and FOR EACH ROW with OLD and NEW [OK]
Common Mistakes:
  • Using BEFORE UPDATE instead of AFTER UPDATE
  • Omitting FOR EACH ROW
  • Using FOR EACH STATEMENT when row-level is needed
  • Incorrect event type like INSERT instead of UPDATE

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More SQL Quizzes