PgSQL——使用触发器自动刷新物化视图

简介: PgSQL——使用触发器自动刷新物化视图

前言

普通视图就是一个虚拟表,不占内存。而物化视图是存在的,占内存。

物化视图,默认是手动刷新。下面是手动刷新的例子。我们来创建一个物化视图。

实体化视图创建之后,我们希望在表数据变动的时候自动刷新视图。

可以使用下面的步骤实现:


Step1 创建函数刷新视图

create or replace function tri_refresh_ydpf_func() returns trigger as $$ 
declare
begin 
  refresh materialized view mv_ydsjpf with data; 
  refresh materialized view mv_ydejpf with data; 
  refresh materialized view mv_ydyjpf with data; 
  refresh materialized view mv_ydzpf with data; 
  return null; 
end; 
$$ language plpgsql;


Step2 创建触发器

create trigger tri_refresh_ydpf
after insert or update or delete on tyzk_point_report
for each row 
execute procedure tri_refresh_ydpf_func();


其它:删除触发器

drop trigger IF EXISTS tri_refresh_ydpf ON tyzk_point_report;
相关文章
|
7月前
|
存储 关系型数据库 MySQL
MySQL触发器 ,视图索引 , 事务
MySQL触发器 ,视图索引 , 事务
|
存储 SQL 缓存
Mysql的索引、视图、触发器、存储过程(下)
Mysql的索引、视图、触发器、存储过程(下)
229 0
|
存储 关系型数据库 MySQL
Mysql的索引、视图、触发器、存储过程(上)
Mysql的索引、视图、触发器、存储过程(上)
161 0
|
存储 关系型数据库 MySQL
mysql 存储过程、触发器、视图、事件
mysql 存储过程、触发器、视图、事件
131 0
SQL物化视图 自动更新 定时刷新
SQL物化视图 自动更新 定时刷新http://www.bieryun.com/3483.html 创建定时刷新-------------------------------------------------------------- create  MATERIALIZED VIEW LOG.
2569 0
|
存储 关系型数据库 MySQL
|
Oracle 关系型数据库 数据库
Oracle 物化视图和物化视图日志
物化视图是将查询预先定义在结构中,并手动或者定期刷新将结果存储在物化视图段中,也就是说跟普通视图不同,它是需要存储空间的,从而不需要重新或者反复的执行sql语句,支持增量刷新,快速获取结果,提高数据获取的效率。
3433 0
|
监控 关系型数据库 数据库
物化视图加DBLINK实现数据的同步_20170216
【业务场景】需要把生产的ERP系统上面的一个表的数据抽取到另外一个报表的数据库里面,公司内部是没有ESB的平台,考虑到整个需求的紧急程度和对效率的要求,建议采用物化视图+DBLINK的方式来实现数据的同步; 【环境说明】 数据库的版本:11.
1685 0
|
SQL
物化视图刷新结合ADG的尝试
之前写过一篇 物化视图刷新结合ADG的尝试,想必绝大多数的朋友看完再没有深究,其实也有些朋友做了建议,让我尝试prebuilt来做。这种数据迁移方式用的比较少,但是个人感觉还是很不错的。
913 0

热门文章

最新文章