暂无图片
暂无图片
1
暂无图片
暂无图片
1
暂无图片

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

原创 多米爸比 2021-11-24
1188

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';
复制
最后修改时间:2021-12-08 15:46:26
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

墨天轮福利君
暂无图片
3年前
评论
暂无图片 0
您好,您的文章已入选合格奖,10墨值奖励已经到账请查收! ❤️我们还会实时派发您的流量收益。
3年前
暂无图片 点赞
评论