MOCKSTACKS
EN
Questions And Answers

More Tutorials









postgreSQL Triggers and Trigger Functions


The trigger will be associated with the specified table or view and will execute the specified function function_name when certain events occur.

Basic PL/pgSQL Trigger Function



This is a simple trigger function.

CREATE OR REPLACE FUNCTION my_simple_trigger_function()
RETURNS trigger AS
$BODY$
BEGIN
 -- TG_TABLE_NAME :name of the table that caused the trigger invocation
IF (TG_TABLE_NAME = 'users') THEN
 --TG_OP : operation the trigger was fired
 IF (TG_OP = 'INSERT') THEN
 --NEW.id is holding the new database row value (in here id is the id column in users
table)
 --NEW will return null for DELETE operations
 INSERT INTO log_table (date_and_time, description) VALUES (now(), 'New user inserted. User
ID: '|| NEW.id);
 RETURN NEW;
 ELSIF (TG_OP = 'DELETE') THEN
 --OLD.id is holding the old database row value (in here id is the id column in users
table)
 --OLD will return null for INSERT operations
 INSERT INTO log_table (date_and_time, description) VALUES (now(), 'User deleted.. User ID:
' || OLD.id);
 RETURN OLD;
 END IF;
RETURN null;
END IF;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;

Adding this trigger function to the users table



CREATE TRIGGER my_trigger
AFTER INSERT OR DELETE
ON users
FOR EACH ROW
EXECUTE PROCEDURE my_simple_trigger_function();



Conclusion

In this page (written and validated by ) you learned about postgreSQL Triggers and Trigger Functions . What's Next? If you are interested in completing postgreSQL tutorial, your next topic will be learning about: postgreSQL Type of triggers.



Incorrect info or code snippet? We take very seriously the accuracy of the information provided on our website. We also make sure to test all snippets and examples provided for each section. If you find any incorrect information, please send us an email about the issue: mockstacks@gmail.com.


Share On:


Mockstacks was launched to help beginners learn programming languages; the site is optimized with no Ads as, Ads might slow down the performance. We also don't track any personal information; we also don't collect any kind of data unless the user provided us a corrected information. Almost all examples have been tested. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. By using Mockstacks.com, you agree to have read and accepted our terms of use, cookies and privacy policy.