Oracle資料對象:視圖的使用

來源:互聯網
上載者:User

1、為什麼使用視圖

(1)限制資料的存取:使用者只能看到基表的部分資訊。

(2)使得複雜的 查詢變得容易:視圖中的資料可能來自多個表。

(3)使得資料相對比較獨立:從項目開發的角度, 模組對應視圖,模組包含多個表,模組發生變化後只需修改相應的視圖,對應的表的結構無需修改。

(4)代表對同一資料的不同視角:不同部門的員工只能看到本部門的資訊。

2、建立視圖

CREATE VIEW empvu10

AS SELECT empno, ename, job

FROM emp1

WHERE deptno=30

/ (定義視圖的查詢中不能使用ORDER BY子句)

3、查詢檢視

視圖定義的SELECT語句儲存在LONG型的TEXT欄位中。

使用SET LONG 150增加LONG 型最大顯示寬度,預設為80

select * from user_views

/

文法說明

CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view

[(alias[, alias]...)]

AS subquery

[WITH CHECK OPTION [CONSTRAINT constraint]]

[WITH READ ONLY];

OR REPLACE             如果視圖已存在,相當於修改視圖

FORCE | [NOFORCE]      無論 基表是否存在都建立視圖 [只有基表存在能建立]

WITH CHECK OPTION     通過視圖執行 的INSERT和UPDATE操作不能建立該視圖檢索不到的資料行

WITH READ ONLY      禁 止對視圖執行DML操作

4、建立複雜的視圖

//不能通過修改視圖修改基表的資料

CREATE VIEW dept_sum_vu

(dname,minsal,maxsal,avgsal)

AS SELECT d.dname,MIN(e.sal),

MAX(sal),AVG(sal)

FROM emp e,dept d

WHERE e.deptno=d.deptno

GROUP BY d.dname

/

資料來自多個表,查詢中使用 了分組函數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.