Oracle 视图备忘

建视图有三种模式:
1、默认的模式,就是什么也不加。
SQL code
?
1
2
3
4
5
6
7
--可以更新的
create or replace view view_a as
    select xxx from table_name;
--不可以可以更新的
create or replace view view_a as
    select xxx from table_name1 a,table_name2 b where a.xxx=b.xxx;
--还有很多种情况不允许更新呢,比如视图中用了distinct、group by 等

2、with read only 只读视图,不允许通过本视图更新本表
SQL code
?
1
2
create or replace view view_a as
    select xxx from table_name with read only;

3、with check option 允许通过视图更新本表,但是要check 视图的where条件。
SQL code
?
1
2
create or replace view view_a as
    select xxx from table_name where id < 10 with check option;

这种情况下,只能通过视图更新 id < 10 的数据,id >=10 的数据不允许更新。


如果想更新多表视图那么请点击点击打开链接

原文地址:https://www.cnblogs.com/JSD1207ZX/p/9386319.html