Bird
0
0

Which of the following is the correct syntax to create a row-level BEFORE INSERT trigger in PostgreSQL?

easy📝 Syntax Q3 of 15
PostgreSQL - Triggers in PostgreSQL
Which of the following is the correct syntax to create a row-level BEFORE INSERT trigger in PostgreSQL?
ACREATE TRIGGER trg BEFORE INSERT ON table_name EXECUTE FUNCTION func_name();
BCREATE TRIGGER trg AFTER INSERT ON table_name FOR EACH ROW EXECUTE PROCEDURE func_name();
CCREATE TRIGGER trg BEFORE INSERT ON table_name FOR EACH ROW EXECUTE FUNCTION func_name();
DCREATE TRIGGER trg BEFORE INSERT ON table_name FOR EACH STATEMENT EXECUTE FUNCTION func_name();
Step-by-Step Solution
Solution:
  1. Step 1: Recall correct CREATE TRIGGER syntax

    PostgreSQL requires specifying timing, event, table, row/statement level, and function call.
  2. Step 2: Validate each option

    CREATE TRIGGER trg BEFORE INSERT ON table_name EXECUTE FUNCTION func_name(); omits FOR EACH ROW (defaults to STATEMENT level); B uses AFTER and EXECUTE PROCEDURE (incorrect for triggers); D uses FOR EACH STATEMENT. Only C is correct for row-level BEFORE INSERT trigger.
  3. Final Answer:

    CREATE TRIGGER trg BEFORE INSERT ON table_name FOR EACH ROW EXECUTE FUNCTION func_name(); -> Option C
  4. Quick Check:

    BEFORE INSERT trigger syntax = CREATE TRIGGER trg BEFORE INSERT ON table_name FOR EACH ROW EXECUTE FUNCTION func_name(); [OK]
Quick Trick: Use FOR EACH ROW with BEFORE trigger and EXECUTE FUNCTION [OK]
Common Mistakes:
  • Using EXECUTE PROCEDURE instead of EXECUTE FUNCTION
  • Omitting FOR EACH ROW clause
  • Confusing AFTER with BEFORE timing

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More PostgreSQL Quizzes