一、視圖的定義
視圖是存儲在數據字典里的一條select語句。 也稱虛表,本身不占用物理空間,通過創建視圖可以提取數據的邏輯上的集合或組合。
視圖是基於一個表或多個表或視圖的邏輯表,本身不包含數據,通過它可以對表里面的數據進行查詢和修改。視圖基於的表稱為基表。
二、視圖的特點
1、簡化查詢
2、增加數據的安全性
三、視圖的使用
1、語法:create view 視圖名 select 字段名1, 字段名2, ... from 基表 where 字段名=字段值;
2、舉例:創建一個視圖,從中獲取員工編號、員工姓名、工資和年終獎
create view myemp as select empno, ename, sal, comm from emp (with check option); --可以進行DML操作
create view myemp as select empno, ename, sal, comm from emp with read only; --只能進行查詢視圖
解決方法:通過system管理員或者sys超級管理員身份授予scott用戶創建視圖的權限
a.在plsql中切換到管理員或者超級管理員身份,然后輸入grant create view to scott;
b.在dos窗口,輸入conn as / sysdba切換到管理員身份,然后輸入grant create view to scott;
(c.撤銷權限的方法:revoke create view from scott;)
3、若非只讀視圖修改視圖會影響基表數據;
參考:https://www.jianshu.com/p/c6d55ab63364、B站:DT課堂原名顏群