使用Oracle SQL Developer(3.2.20.09)。
我必须从两个源视图创建一个视图。例如,视图A中存在字段1-3,视图B中存在字段4-6。重叠为零。我无法选择两个视图并将所有字段拉到后续视图中,因为它们组合起来的字段太多(两个源视图组合在一个视图中允许的总字段上)。
是否可以告诉我的pl / sql包程序:从视图A中获取此字段。如果不存在,请转到查看B?
或者是使用all_tab_columns或其他一些元(?)解决方案的更好的解决方案,看看谁拥有Field 1并从那里获取它?
我对上述两种方案中的任何一种都没有任何经验,所以会很感激很多指导。
或者只是有更好的第三种选择吗?
答案 0 :(得分:0)
无法创建超过1000列的视图。如果视图A和B的组合列数较少,则可以在工作表中使用SQL创建第三个视图:
CREATE OR REPLACE VIEW view_3 (f1, f2, f3, f4, f5, f6)
AS
SELECT a1, a2, a3, NULL, NULL, NULL FROM view_a UNION ALL
SELECT null, null, null, b4, b5, b6 FROM view_b;