Oracle物化视图案例

create table B(clsid int primary key,name VARCHAR2(10));
create table A(
id int primary key,
name VARCHAR2(10),
clsid int,
constraints fk_cls_id foreign key(clsid) references B(clsid)
)

insert into b values(1,'一班');
insert into b values(2,'二班');
insert into b values(3,'三班');

insert into a values(1,'张三',1);
insert into a values(2,'李四',1);
insert into a values(3,'王五',2);

--创建物化视图 实时更新
create materialized view mv_name refresh force on commit as select a.id,a.name,
b.clsid,b.name as bname from a,b
where a.clsid= b.clsid;

--查看所有表
select * from user_tables;
--查看物化视图中的数据
select * from mv_name

--删除物化视图
drop materialized view mv_name
--更新基础表
update a set name='沙海'

--创建物化视图 定时更新
create materialized view mv_name refresh force on demand start with sysdate next
to_date(concat(to_char(sysdate+1,'dd-mm-yyyy'),' 22:00:00'),'dd-mm-yyyy hh24:mi:ss')
as select a.id,a.name,
b.clsid,b.name as bname from a,b
where a.clsid= b.clsid;

--查看所有表
select * from user_tables;
--查看物化视图中的数据
select * from mv_name

--删除物化视图
drop materialized view mv_name
--更新基础表
update a set name='水滴'

--快速刷新
create materialized view log on A with rowid;
create materialized view log on B with rowid;
--创建物化视图 定时更新 快速更新(在查询基础表的时候,需要将两个表的rowid分别查询出来,快速刷新才会起作用)
create materialized view mv_name refresh force on demand start with sysdate next
to_date(concat(to_char(sysdate+1,'dd-mm-yyyy'),' 22:00:00'),'dd-mm-yyyy hh24:mi:ss')
as select a.ROWID as AROWID,b.ROWID as BROWID,a.id,a.name,
b.clsid,b.name as bname from a,b
where a.clsid= b.clsid;

--查看所有表
select * from user_tables;
--查看物化视图中的数据
select * from mv_name

--删除物化视图
drop materialized view mv_name
--更新基础表
update a set name='水滴'
图片说明

全部评论

相关推荐

11-13 20:16
已编辑
厦门理工学院 软件测试
专业嗎喽:硕佬,把学校背景放后面几段,学校背景双非还学院,让人看了就不想往下看。 把实习经历和个人奖项放前面,用数字化简述自己实习的成果和掌握的技能,比如负责项目一次通过率90%,曾4次发现项目潜在问题风险为公司减少损失等等
点赞 评论 收藏
分享
12-18 19:36
已编辑
门头沟学院 Java
程序员牛肉:可以的,简历没毛病了。 虽然还是偏向同质化,不过学历不错。后续我觉得重心放到刷实习+摆脱同质化问题上
实习简历求拷打
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务