PostgreSql TRIGGER 触发器 基于分区表的应用实例

语句级触发器与行级触发器

语句级的触发器是指执行每个 SQL 时,只执行一次,行级触发器则指每行都会执行一次。
一个修改零行的操作会导致合适的语句级触发器被执行,但不会触发行级触发器。
批量插入时,语句级别的触发器只触发一次,不管 affected row 是否为 0,但是行级触发器的触发次数为 affected row。

before/after trigger for each row

对于 BEFORE 和 INSTEAD OF 这类行级触发器来说,如果返回的是 NULL,则表示忽略当前行的操作。
如果返回非 NULL(例如NEW/OLD) 的行,对于 INSERT 和 UPDATE 操作来说,返回的行将成为被插入的行或将要更新的行。
对于 AFTER 这类行级触发器来说,其返回值会被忽略。

例子:创建主表和分区表,在主表的触发器函数中,insert分区表。根据触发器函数返回不同,主表和分区表中的是否有数据。具体如下:

项目 返回 主表 分区表
before NULL
before NEW
after NULL

触发器创建和应用

1.创建主表

CREATE TABLE test.table_name (
	field1 type,
	field2 type(len
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值