ORACLE數據庫基礎——視圖

視圖可以被理解爲是數據庫中一張虛擬的表。視圖基於一個表或多個表,視圖本身並不包含任何數據。當基表的數據發生改變時,視圖的數據同樣會發生改變。

1.創建單表視圖

CREATE OR REPLACE VIEW VW_STU 

AS 

SELECT * FROM STUDENT

WITH READ ONLY;


OR REPLACE表示新建視圖可以覆蓋原有的同名視圖。

WITH READ ONLY表示設置視圖只讀。

2.利用視圖向基表插入數據

由於視圖本身並不包含任何數據,所以當向視圖插入數據時,實際上是向它的基表插入數據。



因爲向視圖插入數據,就是相當於對基表進行插入,所以基表的約束條件此時同樣起作用


可以看到,由於視圖中沒有student_number,但基表中要求student_number不能爲null,所以此時無法對基表進行插入。

3.對視圖進行修改和刪除數據




對於單表視圖,對數據的刪除操作會對基表產生影響。


可以看出,雖然vw_stu只有student_name,但是對它進行數據的刪除操作,對基表產生了影響。

4.創建多表視圖


5.對多表視圖數據進行修改


6.對多表視圖數據進行刪除



雖然可以通過對視圖進行操作來影響基表,但是一般不建議使用這種方法。在大多數情況下,視圖應該被設爲只讀。


發佈了32 篇原創文章 · 獲贊 2 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章