視圖是一個虛擬表,視圖並不在資料庫中存儲數據值,資料庫中只在數據字典中存儲對視圖的定義。
優點
2.禁止資料庫的複雜性,用戶不必了解資料庫的複雜性。
3.簡化用戶許可權的管理,只授予用戶使用視圖的許可權。
4.便於數據共享,多個用戶不必都定義所需的數據。
5.可以重新組織數據,以便關聯到其他套用中。
語法
CREATE [ORREPLACE] VIEW view_name[(column_name1[,column_name2…ASselect_statement[WITHCHECKOPTION][WITHREADONLY]
參數說明
WITH CHECK OPTION:用於創建限制數據訪問的視圖
WITH READONLY:用於創建唯讀視圖
視圖類別
註:在定義複雜視圖時必須為函式或表達式定義別名
註:該視圖上不能執行INSERT、UPDATE、DELETE操作。
查詢許可權
from user_updatable_columns;
說明
updatable表示當前欄位是否可以執行修改操作
insertable表示當前欄位是否可以執行添加操作
deletable表示當前欄位是否可以執行刪除操作
視圖狀態
1)、創建表T,包含ID和NAME兩列;
2)、使用該表創建一個視圖t_view,查看該表所有信息;
3)、使用該表創建一個視圖t_view2,查看該表的ID和NAME列
4)、查看該視圖狀態;
5)、在表T上增加一列性別sex,重新查看視圖t_view的狀態.
6)、在表T上刪除列NAME,重新查看視圖t_view2的狀態.
註:VALID表示正常狀態,invalid表示非正常狀態
有效方法
2)手動重新編譯視圖
語句格式:
ALTER VIEW view_nameCOMPILE;
刪除視圖
Drop view view_name