openGauss/MogDB数据库触发器分两步拆解创建

2023年 9月 25日 46.1k 0

Oracle触发器参考例子

CREATE OR REPLACE TRIGGER ora_trigger AFTER UPDATE OR INSERT OR DELETE ON tab_x FOR each row
declare
...
begin
...
insert into tab_x ...;
end;
/

针对上面的例子,PostgreSQL里需要分两步来操作

1.先创建“触发器函数”

“触发器函数”是返回类型为trigger的函数,把上面的业务逻辑提取到下面的函数里面。

CREATE FUNCTION tigger_fun() RETURNS trigger AS $$
declare
...
begin
...
insert into tab_x ...;
end;
$$ language plpgsql;

2.创建触发器

下面procedure关键字后面指定上一步创建的触发器函数名。

create trigger tab_x_trigger
AFTER UPDATE OR INSERT OR DELETE on tab_x
for each row execute procedure tigger_fun();

3.触发器的查看

方式一:使用gsql工具连接后,通过表的定义上可以查看

\d+ tab_x

方式二:通过sql语句查询pg_trigger系统表

select * from pg_trigger where tgname='tab_x';

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论