多个问题 - 如果帖子变长,请原谅
拥有对Oracle架构的只读访问权限,我可以在其中看到某些视图 说视图' X '和' Y '
现在需要在这两个视图之上创建一个视图 1>不确定从性能角度来看这是个好主意吗? (新视图将仅用于触发选择)
两个现有视图' X '和' Y '本身已创建关闭其他一些视图 A '和' B '!!
奇怪的是我可以发出如下查询:
select * from <<schema_name>>.X
2&gt;但是我无法直接访问 A 或 B 视图 - 所以我需要获得 A 和 B ?
当我查看View X和View Y的DDL语句时,我看到以下代码:
create view <<schema_name>>.X as
select emp_first_name,emp_last_name,
from <<schema_name>>.A
但是当我触发这样的查询时:
select * from <<schema_name>>.X -
我得到的结果如下:
first_name,last_name
3&gt;当视图将其定义为first_name,last_name
和emp_first_name
时,结果显示结果显示emp_last_name
字段名称时感到困惑?
答案 0 :(得分:1)
1&GT;对视图的观点可能会导致一些性能问题,主要取决于内部视图 阅读this AskTom post
中的更多内容2 - ;这并不奇怪 - 这就是视图所做的,而不是让你选择整个表,它们让你只选择它的一部分。所以你需要A和B的补助金。
3&GT;奇怪,尝试这个查询,看看它是如何真正创建的 -
select dbms_metadata.get_ddl('VIEW', 'X', '<<schema_name>>')
from dual