Oracle DB视图(三)

2014-11-24 09:03:20 · 作者: · 浏览: 7
@TEST0924> create or replace view empvu10(employee_number,employee_name,job_title)
2 as select employee_id,last_name,job_id from employees where department_id=10
3 with read only
4 /
View created.
尝试从具有只读约束条件的视图中删除任何行会导致产生错误:
hr@TEST0924> delete from empvu10 where employee_number=200;
delete from empvu10 where employee_number=200
*
ERROR at line 1:
ORA-42399: cannot perform a DML operation on a read-only view
与此类似,尝试使用具有只读约束条件的视图插入行或修改行会导致同样的错误。
删除视图
因为视图是基于数据库中的基表建立的,所以删除视图不会导致丢失数据。
hr@TEST0924> drop view empvu80;
View dropped.
使用DROP VIEW语句可删除视图。该语句会从数据库中删除视图定义。但是,删除视图不会影响视图的基表。此外,基于已删除视图的视图或其它应用程序会变得无效。只有创建者或具有DROP ANY VIEW权限的用户才能删除视图。