Sql Server中的視圖介紹

字號:


    一):視圖的定義
    視圖是由基于一個或多個表的一個查詢所定義的虛擬表,它將查詢的具體定義保存起來,視圖不包含任何數(shù)據(jù)。
    視圖在操作上和數(shù)據(jù)表沒有什么區(qū)別,但兩者的差異是在其本質(zhì)上的。數(shù)據(jù)表是實際存儲記錄的地方,然而視圖并不是保存任何記錄,它存儲的實際上是查詢語句。
    相同的數(shù)據(jù)表,根據(jù)不同用戶的不同需求,可以創(chuàng)建不同的視圖。
    二):視圖的作用
    1):篩選表中的行
    2):防止未經(jīng)許可的用戶訪問敏感數(shù)據(jù)
    3):降低數(shù)據(jù)庫的復(fù)雜程度
    4):將多個物理數(shù)據(jù)抽象為一個邏輯數(shù)據(jù)庫
    三):創(chuàng)建視圖實例
    代碼如下:
    create view view_officeinfo--(視圖名稱)
    as (select A.Name as 樓盤名稱,B.A_Name as 城市,C.A_Name as 區(qū)域,D.A_Name as 街道 from dbo.Office_Info as A
    inner join dbo.Base_Area as B on A.CityId=B.A_ID
    inner join dbo.Base_Area as C on A.AreaId=C.A_ID
    inner join dbo.Base_Area as D on A.StreetId=D.A_ID)--(sql語句)
    select * from view_officeinfo(視圖名稱)
    四):刪除修改視圖
    刪除:
    代碼如下:
    if exists(select * from sys.objects where name='view_officeinfo')
    drop view_officeinfo
    修改:
    代碼如下:
    alter view v_Student as sql語句