程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle創建視圖的語法

Oracle創建視圖的語法

編輯:Oracle數據庫基礎

Oracle創建視圖的語法非常重要,因為Oracle創建視圖使我們最常用的操作之一,在學習Oracle創建視圖的語法之前,先讓我們了解一下什麼是視圖。

視圖是基於一個表或多個表或視圖的邏輯表,本身不包含數據,通過它可以對表裡面的數據進行查詢和修改。視圖基於的表稱為基表。

視圖是存儲在數據字典裡的一條select語句。 通過Oracle創建視圖可以提取數據的邏輯上的集合或組合。

視圖的優點:

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

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

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

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

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

視圖的創建:

  1. CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW vIEw_name   
  2.  
  3. [(alias[, alias]...)]   
  4.  
  5. AS subquery  
  6. [WITH CHECK OPTION [CONSTRAINT constraint]]   
  7. [WITH READ ONLY]   

其中:
OR REPLACE    :若所創建的試圖已經存在,Oracle自動重建該視圖;
FORCE  :不管基表是否存在Oracle都會自動創建該視圖;
NOFORCE   :只有基表都存在Oracle才會創建該視圖:
alias :為視圖產生的列定義的別名;
subquery     :一條完整的SELECT語句,可以在該語句中定義別名;
WITH CHECK  OPTION :
插入或修改的數據行必須滿足視圖定義的約束;
WITH READ ONLY :
該視圖上不能進行任何DML操作。

例如:

  1. CREATE  OR  REPLACE  VIEW  dept_sum_vw  
  2.    (name,minsal,maxsal,avgsal)  
  3. AS  SELECT d.dname,min(e.sal),max(e.sal),avg(e.sal)  
  4. FROM    emp e,dept d  
  5. WHERE  e.deptno=d.deptno  
  6. GROUP  BY  d.dname; 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved