複製鏈接
請複製以下鏈接發送給好友

Oracle視圖

鎖定
視圖是一個虛擬表,視圖並不在數據庫中存儲數據值,數據庫中只在數據字典中存儲對視圖的定義。
中文名
Oracle視圖
所屬學科
計算機

Oracle視圖優點

1.為用户集中數據,簡化用户的數據查詢和處理。
2.屏蔽數據庫的複雜性,用户不必瞭解數據庫的複雜性。
3.簡化用户權限的管理,只授予用户使用視圖的權限。
4.便於數據共享,多個用户不必都定義所需的數據
5.可以重新組織數據,以便關聯到其他應用中。

Oracle視圖語法

CREATE [OR REPLACE] VIEW view_name[(column_name1[,column_name2…
AS
select_statement
[WITHCHECKOPTION]
[WITHREADONLY]

Oracle視圖參數説明

CREATE OR Replace:用於創建和修改視圖
WITH CHECK OPTION:用於創建限制數據訪問的視圖
WITH READONLY:用於創建只讀視圖

Oracle視圖視圖類別

1、簡單視圖
指基於單個表並且不包含函數或表達式的視圖,在該視圖上可以執行DML語句(即可執行增、刪、改操作)。
2、複雜視圖
指包含函數、表達式或者分組數據的視圖,在該視圖上執行DML語句時必須要符合特定條件。
注:在定義複雜視圖時必須為函數或表達式定義別名
3、連接視圖
指基於多個表建立的視圖,一般來説不會在該視圖上執行INSERT、UPDATE、DELETE操作。
4、只讀視圖
指只允許進行SELECT操作的視圖,在該視圖時指定WITHREADONLY選項。
注:該視圖上不能執行INSERT、UPDATE、DELETE操作。
5、check約束視圖
WITHCHECKOPTION用於在視圖上定義CHECK約束,即在該視圖上執行INSERT或UPDATE操作時,數據必須符合查詢結果.

Oracle視圖查詢權限

select table_name,column_name,updatable,inser table,deletable
from user_updatable_columns;
説明
updatable表示當前字段是否可以執行修改操作
insertable表示當前字段是否可以執行添加操作
deletable表示當前字段是否可以執行刪除操作

Oracle視圖視圖狀態

當創建視圖後,ORACLE將會驗證視圖的有效性,如修改了基本表,則會導致視圖的無效狀態.可查詢數據字典user_objects的status.
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表示非正常狀態

Oracle視圖有效方法

1、在ORACLE中對該視圖進行一次查詢,如果沒有錯誤,則系統會自動對其進行重新編譯,視圖狀態變為有效。
2、手動重新編譯視圖
語句格式:
ALTER VIEW view_nameCOMPILE;

Oracle視圖刪除視圖

語句格式:
 Drop view view_name