一、視圖概念 • 視圖概念 • 視圖是基於一個表或多個表或視圖的邏輯表(虛表),本身不包含數據,通過它可以對錶裡面的數據進行查詢。 • 基表 • 視圖是從一個或多個實際表中獲得的,這些表的數據存放在資料庫中。那些用於產生視圖的表叫做該視圖的基表。 • 視圖優點 • 簡化性 • 安全性 二、視圖分類 ...
一、視圖概念
• 視圖概念
• 視圖是基於一個表或多個表或視圖的邏輯表(虛表),本身不包含數據,通過它可以對錶裡面的數據進行查詢。
• 基表
• 視圖是從一個或多個實際表中獲得的,這些表的數據存放在資料庫中。那些用於產生視圖的表叫做該視圖的基表。
• 視圖優點
• 簡化性
• 安全性
二、視圖分類
• 視圖分為簡單視圖和複雜視圖。兩者區別如下:
• 簡單視圖只從單表獲取數據,複雜視圖從多表獲取數據。
• 簡單視圖不包含函數和數據組,複雜視圖包含。
• 簡單視圖可以實現DML操作,複雜視圖不可以。
三、視圖語法
• 創建視圖的語法:
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name [(alias[,alias]...)]
AS subquery [WITH CHECK OPTION] [WITH READ ONLY]
• 參數解析:
• OR REPLACE:如果視圖存在,新定義將替換視圖。
• FORCE:基本不存在也將創建視圖,NOFORCE相反。
• ALIAS:為視圖產生的列定義別名,如不定義將採用基表中列名。
• SUBQUERY:一條查詢語句。
• WITH CHECK OPTION:插入或者修改數據必須滿足視圖查詢(SUBQUERY)WHERE子句的條件。
• WITH READ ONLY:不能對視圖進行刪改(DELETE/UPDATE)操作。
四、視圖實例
create or replace view emp_view as select * from emp where empno<1003;