触发器使用

  • demo
CREATE FUNCTION test_trigger() RETURNS TRIGGER AS
$
    plv8.elog(NOTICE, "NEW = ", JSON.stringify(NEW));
    plv8.elog(NOTICE, "OLD = ", JSON.stringify(OLD));
    plv8.elog(NOTICE, "TG_OP = ", TG_OP);
    plv8.elog(NOTICE, "TG_ARGV = ", TG_ARGV);
    if (TG_OP == "UPDATE") {
        NEW.i = 102;
        return NEW;
    }
$
LANGUAGE "plv8";
CREATE TRIGGER test_trigger
    BEFORE INSERT OR UPDATE OR DELETE
    ON test_tbl FOR EACH ROW
    EXECUTE PROCEDURE test_trigger('foo', 'bar');
  • 包含的对象
    基于pg标准提供的参数
 
NEW
OLD
TG_NAME
TG_WHEN
TG_LEVEL
TG_OP
TG_RELID
TG_TABLE_NAME
TG_TABLE_SCHEMA
TG_ARGV

参考:https://www.postgresql.org/docs/current/static/plpgsql-trigger.html

参考资料

https://www.postgresql.org/docs/current/plpgsql-trigger.html
https://plv8.github.io/

最新文章

  1. mongodb,redis,hbase 三者都是nosql数据库,他们的最大区别和不同定位是什么?
  2. 同步or异步
  3. HDU4578 Transformation 线段树
  4. java面试入门总结
  5. Python运行机制
  6. android滑动基础篇 TouchView
  7. Magnum Kuernetes源码分析(一)
  8. Java线程和守护进程
  9. Linux 性能监测:IO
  10. 科学计算工具Numpy
  11. c#根据路径(url)下载图片
  12. .NET Core微服务之基于App.Metrics+InfluxDB+Grafana实现统一性能监控
  13. PWM_MOTOR_B
  14. python2和python3的range(100)的区别
  15. [原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(二) -- 安装jira 7.5.4
  16. Cisco交换机基础命令 + Win Server08 R2 多网卡配置链路聚合
  17. JAVA自学笔记12
  18. Mysql phpStudy升级Mysql版本,流产了怎么办?
  19. Attention[Content]
  20. Win10系列:JavaScript动画2

热门文章

  1. 用欧拉计划学Rust编程(第26题)
  2. SpringBoot第十九篇:邮件服务
  3. cv2.putText,cv2.rectangle方法
  4. CentOS7 SUDO 笔记--没配置sudoer,为什么有的账号能用sudo命令,有的不能用
  5. 使用SonarQube和SonarQube Scanner分析项目
  6. 常见HTTP响应状态码
  7. Linux下安装Python3.6.8并安装包
  8. sql server 分页总结
  9. C#多线程下如何保证线程安全?
  10. 史上最全的音视频SDK包分享给大家