Oracle視圖view講解——我的oracle學習之路

首先我們瞭解下什麼是視圖:
     視圖就是封裝了一條複雜查詢的語句,視圖是一個虛表,最大的優點就是簡化了複雜的查詢(比如多表聯查,我們可以把多張表整合到一個視圖上面)。
      換句話說,視圖就是一張虛擬的表,本身不存放數據,數據來源於原始的表


CREATE [OR REPLACE] VIEW 視圖名
AS
SELECT查詢   (需要查詢的結果)                                       
[WITH READ ONLY CONSTRAINT] 
(設置是否可以對視圖進行增刪改查)

語法解析:

  • OR REPLACE:如果視圖已經存在,則替換舊視圖。
  • FORCE:即使基表不存在,也可以創建該視圖,但是該視圖不能正常使用,當基表創建成功後,視圖才能正常使用。
  • WITH READ ONLY:默認可以通過視圖對基表執行增刪改操作,但是有很多在基表上的限制(比如:基表中某列不能爲空,但是該列沒有出現在視圖中,則不能通過視圖執行insert操作),WITH READ ONLY說明視圖是隻讀視圖,不能通過該視圖進行增刪改操作。現實開發中,基本上不通過視圖對錶中的數據進行增刪改操作。
  1. 創建視圖
    create or replace view emp_view as select * from emp;
    或者指定數據列進行創建
    select or replace view emp_view as select empno,ename,hiredate from emp;
  2. 查詢視圖
    select * from emp_view;
  3. 修改視圖中7369的名字爲’smith’
    update emp_view set ename = ‘smith’ where empno = 7369;
  4. 刪除視圖
    drop view emp_view;
  5. 創建只讀視圖
    create or replace view emp_view as select * from emp with read only;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章