pgsql触发器

大家好,今天给大家分享的知识是在pgsql新增数据之后的触发器

文章目录


一、触发器是什么?

PostgreSQL 触发器(trigger)是一种特殊的函数,当某个数据变更事件(INSERT、UPDATE、

DELETE 或者 TRUNCATE 语句)或者数据库事件(DDL 语句)发生时自动执行,而不是由用

户或者应用程序进行调用。

二、使用步骤

1.创建函数

首先我们要先创建一个函数,供触发器调用,在这我用新增数据后作为例子来演示,函数代码如下:

sql 复制代码
CREATE OR REPLACE FUNCTION insert_test_table()
RETURNS TRIGGER
LANGUAGE plpgsql
AS $function$
BEGIN
    IF NEW.id = '666' THEN
    INSERT INTO(id,name) test_table VALUES(NEW.id,'姓名');
    END IF;

    RETURN NEW;
END;
$function$;

此处的insert_test_table为函数名,test_table替换为要新增数据的表

2.创建触发器

有了函数之后我们就可以写触发器了,代码如下:

sql 复制代码
CREATE TRIGGER insert_test_table_trigger
AFTER INSERT ON test_table_before
FOR EACH ROW
EXECUTE FUNCTION insert_test_table();

此处的insert_test_table_trigger为触发器的名称,AFTER INSERT的意思是在新增之后调用触发器,也可以改为BEFORE,新增之前调用来触发器,当然insert操作也可以替换为delete或者update操作,test_table_before就是在对此表进行新增操作之后再对test_table表再进行新增数据操作,最后一句就是调用我们上面所写的函数。


总结

以上就是pgsql触发器的用法,如有想法,欢迎讨论~

相关推荐
_codemonster5 小时前
JavaWeb开发系列(八)数据库环境配置
数据库
小刘的大模型笔记5 小时前
向量数据库实战指南:从部署到RAG落地
数据库
Hello.Reader5 小时前
从 0 到 1 理解硬盘数据恢复工具原理与工程实现
linux·运维·服务器·网络·数据库
前路不黑暗@5 小时前
Java项目:Java脚手架项目的地图服务(十)
java·数据库·spring boot·笔记·学习·spring cloud·maven
世界尽头与你6 小时前
MySQL 三大日志(binlog、redo log 和 undo log)深度解析
数据库·mysql
a285286 小时前
MS SQL Server 实战 统计与汇总重复记录
数据库·oracle
tod1136 小时前
深入理解 Redis 事务:从原理到实践的完整解析
数据库·redis·缓存
升职佳兴6 小时前
SQL 窗口函数入门教程基础篇
数据库·sql
dreams_dream7 小时前
MySQL 主从复制(小白友好 + 企业级)
android·数据库·mysql
XLYcmy7 小时前
智能体大赛 技术架构 数据根基层
数据库·ai·llm·api·agent·幻觉·万方