- 視圖是什麼:
視圖是一個虛擬表,其內容由查詢定義。同真實的表一樣,視圖包含一系列帶有名稱的列和行數據。視圖的數據變 化會影響到基表,基表的數據變化也會影響到視圖 - 視圖的基本使用
創建視圖
create view 視圖名 as select語句;
案例:
create view v_ename_dname as select ename, dname from EMP, DEPT where EMP.deptno=DEPT.deptno;
- 修改了視圖,對基表數據有影響
update v_ename_dname set dname='sales' where ename='CLARK'; select * from EMP where ename='CLARK';
-
修改了基表,對視圖有影響
-
刪除視圖
drop view 視圖名;
- 視圖規則和限制
- 與表一樣,必須唯一命名(不能出現同名視圖或表名)
- 創建視圖數目無限制,但要考慮複雜查詢創建爲視圖之後的性能影響
- 視圖不能添加索引,也不能有關聯的觸發器或者默認值
- 視圖可以提高安全性,必須具有足夠的訪問權限 order by 可以用在視圖中,但是如果從該視圖檢索數據 select 中也含有 order by ,那麼該視圖中的 order by 將被覆蓋
- 視圖可以和表一起使用