更新物化视图示例sql
CREATE TABLE model.test (
id SERIAL PRIMARY KEY,
name VARCHAR(60)
);
. 建立物化视图oracle
CREATE MATERIALIZED VIEW model.test_materialized_view AS
SELECT * FROM model.test;
. 建立惟一索引,由于 CONCURRENTLY 同步更新须要惟一索引函数
CREATE UNIQUE INDEX test_materialized_view_index ON model.test_materialized_view(id);
. 同步更新,可是须要触发,不能向 oracle 那种能够自动触发更新.net
REFRESH MATERIALIZED VIEW CONCURRENTLY model.test_materialized_view;
. 建立函数执行同步更新和触发器执行函数blog
create or replace function update_test_materialized_view() returns trigger as $$ declare begin REFRESH MATERIALIZED VIEW CONCURRENTLY model.test_materialized_view; return new; end; $$ language plpgsql; CREATE TRIGGER update_test_materialized_view AFTER UPDATE ON model.test FOR EACH STATEMENT EXECUTE PROCEDURE update_test_materialized_view(); CREATE TRIGGER update_test_materialized_view AFTER UPDATE ON model.test FOR EACH STATEMENT EXECUTE PROCEDURE update_test_materialized_view(); CREATE TRIGGER update_test_materialized_view AFTER UPDATE ON model.test FOR EACH STATEMENT EXECUTE PROCEDURE update_test_materialized_view();
---------------------
做者:Resemble_
来源:CSDN
原文:https://blog.csdn.net/qq_27657429/article/details/76643294
版权声明:本文为博主原创文章,转载请附上博文连接!索引