我需要在表上创建一个视图,并且不希望每次表结构更改时都更改视图。有没有这样的可能性?任何指针都赞赏这个。
答案 0 :(得分:0)
如果您不想指定表格的所有字段,即使我不喜欢这样的解决方案,您也可以定义devise
之类的视图,但是您总是有在表更改后重建视图。
例如:
select *
视图效果很好:
SQL> create table yourTable ( a number, b number);
Table created.
SQL> insert into yourTable values ( 1, 2);
1 row created.
SQL> insert into yourTable values ( 10, 20);
1 row created.
SQL> create or replace view yourView as select * from yourTable;
View created.
如果添加列,视图将不会显示该列:
SQL> select * from yourView;
A B
---------- ----------
1 2
10 20
您需要重建视图才能拥有新列:
SQL> alter table yourTable add (c number);
Table altered.
SQL> select * from yourView;
A B
---------- ----------
1 2
10 20
如果删除某列,您的视图将无效,您需要重建它:
SQL> create or replace view yourView as select * from yourTable;
View created.
SQL> select * from yourView;
A B C
---------- ---------- ----------
1 2
10 20