技术文章 > 数据库 >  PostgreSQL > 正文

PostgreSQL触发器有哪些分类?

宋雪维

PostgreSQL支持两种类型的触发器,一种是数据行级触发器,另外一种是语句级触发器。再细分,触发器按执行的时间被分为before触发器和after触发器。本文向大家介绍PostgreSQL支持两种类型的触发器。

一、语句级触发器:

1、执行每个SQL时,只执行一次 。

2、语句级的before触发器在语句开始执行前被调用,语句级的after触发器在语句开始执行结束后被调用。

3、一个每语句的触发器对于其触发语句只被调用一次,按照语句进行触发的,而不管该语句影响了多少行。支持insert,update,delete,truncate的方式触发。

注意:truncate上的触发器只能在语句级,不能在行级。

4、 语句级的触发器应该返回NULL。

二、行级触发器:

1、每行都会执行一次。

2、数据行级的before触发器在操作每个数据行以前被调用,数据行级的after触发器在操作每个数据行以后被调用,但是它会在任何语句级别的 AFTER 触发器被触发之前触发。

3、对于一个每行的触发器,按照语句实际操作了多少行数据决定触发的次数。对于触发触发器的语句所修改的每一行都会调用一次触发器函数。

4、 行级after触发器的返回值总是被忽略,可以返回NULL。

以上就是PostgreSQL触发器两个分类介绍,当SQL语句没有更新实际的行时,语句触发器也会被触发,而行级触发器不会被触发哦~

免费视频教程
本教程部分素材来源于网络,版权问题联系站长!
相关文章
  python中如何使用scipy.fftpack模块计算快速傅里叶变换?
  python中如何使用scipy.stats产生随机数?
  python的scipy.stats模块中正态分布常用函数有哪些?
  python爬虫使用scrapy框架处理多页数据的方法
  python爬虫实战之反爬2021猫眼票房字体加密
  Python爬虫如何UA伪装爬取?
  Python3爬虫利器:RedisDump的安装
相关视频章节
  《Python程序设计》课程导论
  Python随机模块
  Python应用领域
  五分钟装好Python解释器
  写下你第一个Python程序
视频教程分类