Oracle 數據庫創建視圖

權限問題:

 首先應確認登錄用戶有無創建視圖的權限,如沒有,請以DBA用戶登錄,賦予ceshi用戶創建視圖的權限; 

grant create view to ceshi;--1.以DBA用戶登錄賦予權限;
create view vi_boss as
select b.first_name,b.birthtime,b.icon from boss b;--2.切換回原用戶創建視圖

Oracle 創建視圖(View)

視圖:是基於一個表或多個表或視圖的邏輯表,本身不包含數據,通過它可以對錶裏面的數據進行查詢和修改。視圖基於的表稱爲基表,Oracle的數據庫對象分爲五種:表,視圖,序列,索引和同義詞。

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

語法結構

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

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

語法解析

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

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

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

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

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

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

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章