Which of the following is the correct syntax to create a trigger in PostgreSQL?
easy📝 Syntax Q12 of 15
PostgreSQL - Triggers in PostgreSQL
Which of the following is the correct syntax to create a trigger in PostgreSQL?
ACREATE TRIGGER trigger_name BEFORE INSERT ON table_name FOR EACH ROW EXECUTE FUNCTION function_name();
BCREATE TRIGGER trigger_name AFTER UPDATE ON table_name CALL function_name();
CCREATE TRIGGER trigger_name ON table_name BEFORE DELETE EXECUTE PROCEDURE function_name();
DCREATE TRIGGER trigger_name ON table_name FOR EACH STATEMENT EXECUTE FUNCTION function_name();
Step-by-Step Solution
Solution:
Step 1: Review PostgreSQL trigger syntax
The correct syntax uses CREATE TRIGGER, timing (BEFORE/AFTER), event (INSERT/UPDATE/DELETE), table, FOR EACH ROW or STATEMENT, and EXECUTE FUNCTION.
Step 2: Check each option for syntax correctness
CREATE TRIGGER trigger_name BEFORE INSERT ON table_name FOR EACH ROW EXECUTE FUNCTION function_name(); matches the correct syntax exactly. CREATE TRIGGER trigger_name AFTER UPDATE ON table_name CALL function_name(); uses CALL instead of EXECUTE FUNCTION, which is invalid. CREATE TRIGGER trigger_name ON table_name BEFORE DELETE EXECUTE PROCEDURE function_name(); uses EXECUTE PROCEDURE, deprecated in modern PostgreSQL. CREATE TRIGGER trigger_name ON table_name FOR EACH STATEMENT EXECUTE FUNCTION function_name(); places ON table_name before timing and event, which is incorrect order.
Final Answer:
CREATE TRIGGER trigger_name BEFORE INSERT ON table_name FOR EACH ROW EXECUTE FUNCTION function_name(); -> Option A
Quick Check:
Correct trigger syntax = CREATE TRIGGER trigger_name BEFORE INSERT ON table_name FOR EACH ROW EXECUTE FUNCTION function_name(); [OK]
Quick Trick:Use EXECUTE FUNCTION, not CALL or PROCEDURE [OK]
Common Mistakes:
Using CALL instead of EXECUTE FUNCTION
Using EXECUTE PROCEDURE instead of EXECUTE FUNCTION
Placing ON table_name in wrong position
Master "Triggers in PostgreSQL" in PostgreSQL
9 interactive learning modes - each teaches the same concept differently