在实体化视图中更改字段 - oracle
change fields in materialized view - oracle
晚安,
我有一个工作实体化视图,我将向其添加 15 个左连接,类似于下面示例行中的那些,有没有办法编辑它并隐藏 rowids?,如果我用 primary 替换 rowid关键,我可以省略它们吗?
因为我必须放置 15 个额外的 rowid,这在视觉上不切实际。有没有办法让它只显示我想要的字段而不是rowsid,
我还能如何更改它以使其没有不必要的列,有没有一种方法可以处理增量加载而不必执行所有复杂的存储过程?
这种方式处理增量加载非常简单,物化视图必须是增量的(刷新快)
非常感谢。
问候。
create materialized view vm_prueba2
refresh fast on demand
with rowid as
select
o.rowid o_rowid,
c.rowid c_rowid,
e.rowid e_rowid,
ordenid,
o.empleadoid,
o.clienteid,
fechaorden,
descuento,
nvl(c.desccripcion,'') as ddesc,
e.desccripcion
from ordenes o, tabla_hija c, tabla_hija e
where
( o.clienteid=c.valor(+) and c.id_tabla=1 or c.valor is null ) and
( o.empleadoid=e.valor(+) and e.id_tabla=2 or e.valor is null )
- 创建实体化视图,其中包含所有
rowid
s
- 在该实体化视图的顶部创建一个 视图,它只显示您想要的列
- 这样,您将“隐藏”不需要的所有内容(
rowid
s,对吧?)
- 这也意味着您实际上会在选择中使用视图,而不是物化视图
- 物化视图刷新会正常工作照常
例如:
create materialized view vm_prueba2
refresh fast on demand
with rowid as
select
o.rowid o_rowid,
...
from ...;
-- a view would select only some columns from the materialized view:
create or replace view v_vm_prueba2 as
select empleadoid,
clienteid,
fechaorden
from vm_prueba2;
晚安,
我有一个工作实体化视图,我将向其添加 15 个左连接,类似于下面示例行中的那些,有没有办法编辑它并隐藏 rowids?,如果我用 primary 替换 rowid关键,我可以省略它们吗?
因为我必须放置 15 个额外的 rowid,这在视觉上不切实际。有没有办法让它只显示我想要的字段而不是rowsid,
我还能如何更改它以使其没有不必要的列,有没有一种方法可以处理增量加载而不必执行所有复杂的存储过程? 这种方式处理增量加载非常简单,物化视图必须是增量的(刷新快)
非常感谢。 问候。
create materialized view vm_prueba2
refresh fast on demand
with rowid as
select
o.rowid o_rowid,
c.rowid c_rowid,
e.rowid e_rowid,
ordenid,
o.empleadoid,
o.clienteid,
fechaorden,
descuento,
nvl(c.desccripcion,'') as ddesc,
e.desccripcion
from ordenes o, tabla_hija c, tabla_hija e
where
( o.clienteid=c.valor(+) and c.id_tabla=1 or c.valor is null ) and
( o.empleadoid=e.valor(+) and e.id_tabla=2 or e.valor is null )
- 创建实体化视图,其中包含所有
rowid
s - 在该实体化视图的顶部创建一个 视图,它只显示您想要的列
- 这样,您将“隐藏”不需要的所有内容(
rowid
s,对吧?)- 这也意味着您实际上会在选择中使用视图,而不是物化视图
- 物化视图刷新会正常工作照常
- 这样,您将“隐藏”不需要的所有内容(
例如:
create materialized view vm_prueba2
refresh fast on demand
with rowid as
select
o.rowid o_rowid,
...
from ...;
-- a view would select only some columns from the materialized view:
create or replace view v_vm_prueba2 as
select empleadoid,
clienteid,
fechaorden
from vm_prueba2;