【发布时间】:2009-07-25 00:17:08
【问题描述】:
我在域架构级别使用CREATE OR REPLACE VIEW 语句创建了VIEW。
create or replace VIEW SERV as
select loop.loop_serv serv, component.cmpnt_id,component.loop_id
from component,loop where component.loop_id = loop.loop_id
union select distinct ' ',0,0 from component,loop;
因此,如果我登录到域架构并运行查询 - select * from domain1.SERV,那么我将获得预期的所有结果。
现在我已经为所有域模式重用了上面的 create 语句,如果我想一次性查看所有结果,那么我会使用带有“union select”的查询,因为可以理解,视图在整个过程中具有相同的格式.
select * from domain1.SERV union all
select * from domain2.SERV union all
select * from domain3.SERV union all
select * from domain4.SERV union all
select * from domain5.SERV union all
以此类推,直到最后一个域模式。
现在我怎么能在系统级别创建相同的视图,知道在“all_object”表中它将列出我的视图(object_type='VIEW' 和object_name='SERV')并且“所有者”列将是我的所有域架构列表。此系统级别的 VIEW 例如名称为 ALL_SERV,如果我在其中运行查询,它将列出来自所有域模式的所有记录。
那你能帮忙吗?
我根本没有创建对象。我只想在系统级别创建相同的视图。 VIEW 的结构应与我在领域级别创建的相同。我想我必须创建指向每个域的 VIEW,这意味着我有 x 个视图作为域的数量。
还有其他简单的方法吗?
【问题讨论】:
-
您在寻找动态的吗?因此,如果您添加另一个域,它会自动反映在视图中?
-
您实际上根本没有在 SYSTEM 模式下创建对象,是吗?那将是一件坏事。