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触发器的用法,如有想法,欢迎讨论~

相关推荐
杨云龙UP13 小时前
Oracle Health Check巡检脚本使用SOP V2.0:从HTML原始报告→生成Word专业巡检报告→交付客户_2026-06-03
linux·运维·数据库·sql·oracle·报告·巡检
Database_Cool_13 小时前
Hudi 湖仓一体架构:阿里云 AnalyticDB MySQL 原生集成最佳实践
数据库·mysql·阿里云
我是一颗柠檬13 小时前
【Redis】发布订阅与消息队列Day8(2026年)
数据库·redis·后端·缓存
sukioe13 小时前
Redis 持久化+高可用详解:RDB/AOF/混合/主从/哨兵/集群
数据库·redis·缓存
全栈软件开发14 小时前
祈福导航系统V1.1更新 优化后端控制逻辑和前台UI
数据库·祈福导航系统
_qingche15 小时前
H2 数据库到 MySQL 数据迁移
java·数据库·spring boot·mysql·spring·重构·kotlin
AOwhisky15 小时前
MySQL 学习笔记(第一期):数据库基础与 MySQL 初探
运维·数据库·笔记·学习·mysql·云计算
数据库小学妹15 小时前
MySQL ORDER BY 深度解析:Using temporary 与 Using filesort 的底层机制及索引优化实战
数据库·经验分享·mysql·性能优化·dba
AI人工智能+电脑小能手16 小时前
【大白话说Java面试题 第93题】【Mysql篇】第23题:从查找速度来看,聚集索引和非聚集索引哪个更快?
java·开发语言·数据库·mysql·面试
WPF工业上位机16 小时前
YXGK.FakeVM数据库示例
jvm·数据库·oracle