Which of the following is the correct syntax to create an AFTER INSERT trigger in PostgreSQL?
easy📝 Syntax Q12 of 15
PostgreSQL - Triggers in PostgreSQL
Which of the following is the correct syntax to create an AFTER INSERT trigger in PostgreSQL?
ACREATE TRIGGER trg AFTER INSERT ON table_name FOR EACH ROW EXECUTE FUNCTION func_name();
BCREATE TRIGGER trg AFTER INSERT ON table_name EXECUTE FUNCTION func_name();
CCREATE TRIGGER trg BEFORE INSERT ON table_name EXECUTE FUNCTION func_name();
DCREATE TRIGGER trg AFTER INSERT ON table_name FOR EACH STATEMENT EXECUTE FUNCTION func_name();
Step-by-Step Solution
Solution:
Step 1: Recall the correct CREATE TRIGGER syntax
PostgreSQL requires specifying FOR EACH ROW or FOR EACH STATEMENT for triggers.
Step 2: Identify the correct syntax for AFTER INSERT
CREATE TRIGGER trg AFTER INSERT ON table_name FOR EACH ROW EXECUTE FUNCTION func_name(); correctly uses AFTER INSERT ON table_name FOR EACH ROW EXECUTE FUNCTION func_name();
Final Answer:
CREATE TRIGGER trg AFTER INSERT ON table_name FOR EACH ROW EXECUTE FUNCTION func_name(); -> Option A
Quick Check:
AFTER INSERT + FOR EACH ROW + EXECUTE FUNCTION = CREATE TRIGGER trg AFTER INSERT ON table_name FOR EACH ROW EXECUTE FUNCTION func_name(); [OK]
Quick Trick:AFTER triggers need FOR EACH ROW or STATEMENT [OK]
Common Mistakes:
Omitting FOR EACH ROW or FOR EACH STATEMENT
Using BEFORE instead of AFTER
Using EXECUTE PROCEDURE instead of EXECUTE FUNCTION in modern PostgreSQL
Master "Triggers in PostgreSQL" in PostgreSQL
9 interactive learning modes - each teaches the same concept differently