要在PostgreSQL中创建一个新的触发器,可以使用如下的语法:
CREATE TRIGGER trigger_name
BEFORE/AFTER INSERT/UPDATE/DELETE ON table_name
FOR EACH ROW
EXECUTE FUNCTION trigger_function();
其中:
trigger_name
是触发器的名称,可以自定义命名。BEFORE/AFTER
指定触发器在操作执行前还是执行后触发。INSERT/UPDATE/DELETE
指定触发器在哪种操作时触发。table_name
是触发器所属的表名。FOR EACH ROW
表示触发器针对表中的每一行数据都会触发。EXECUTE FUNCTION trigger_function()
是触发器触发时执行的函数。
在创建触发器之前,需要先创建一个函数,然后将函数与触发器关联起来。创建函数的语法如下:
CREATE FUNCTION trigger_function()
RETURNS TRIGGER AS $$
BEGIN
-- 触发器执行的具体操作
END;
$$ LANGUAGE plpgsql;
在函数体内编写具体的触发器操作逻辑。最后,将函数与触发器关联起来,创建完整的触发器。