Oracle數據庫視圖的創建以及使用


 創建視圖語句:

CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name
    [(alias[, alias]...)]

AS subquery
     [WITH CHECK OPTION [CONSTRAINT constraint]]
     [WITH READ ONLY]

CREATE OR REPLACE VIEW new_V_a(視圖名) AS
SELECT  *
FROM T_a(表名) 

 

CREATE OR REPLACE VIEW new_V_a(視圖名) AS
SELECT  * FROM T_a(表名)
UNION ALL
SELECT  * FROM T_a

 

視圖的優點:

1.對數據庫的訪問,因為視圖可以有選擇性的選取數據庫里的一部分。

2.用戶通過簡單的查詢可以從復雜查詢中得到結果。

3.維護數據的獨立性,試圖可從多個表檢索數據。

4.對於相同的數據可產生不同的視圖。

視圖分為簡單視圖和復雜視圖:

1、簡單視圖只從單表里獲取數據,復雜視圖從多表;

2、簡單視圖不包含函數和數據組,復雜視圖包含;

3、簡單視圖可以實現DML操作,復雜視圖不可以。

語法解析:

OR REPLACE    :若所創建的試圖已經存在,則替換舊視圖;

FORCE:不管基表是否存在ORACLE都會自動創建該視圖(即使基表不存在,也可以創建該視圖,但是該視圖不能正常使用,當基表創建成功后,視圖才能正常使用);

NOFORCE  :如果基表不存在,無法創建視圖,該項是默認選項(只有基表都存在ORACLE才會創建該視圖)。

alias:為視圖產生的列定義的別名;

subquery  :一條完整的SELECT語句,可以在該語句中定義別名;

WITH CHECK OPTION  :插入或修改的數據行必須滿足視圖定義的約束;

WITH READ ONLY       :默認可以通過視圖對基表執行增刪改操作,但是有很多在基表上的限制(比如:基表中某列不能為空,但是該列沒有出現在視圖中,則不能通過視圖執行insert操作),WITH READ ONLY說明視圖是只讀視圖,不能通過該視圖進行增刪改操作。現實開發中,基本上不通過視圖對表中的數據進行增刪改操作。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM