SQL Server 創(chuàng)建視圖
從用戶(hù)角度來(lái)看,一個(gè)視圖是從一個(gè)特定的角度來(lái)查看數(shù)據(jù)庫(kù)中的數(shù)據(jù) 。
從數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)部來(lái)看,一個(gè)視圖是由 SELECT 語(yǔ)句組成的查詢(xún)定義的虛擬表(因?yàn)橐粋€(gè)視圖可以拉動(dòng)多個(gè)表,并匯總數(shù)據(jù)在一起并將其顯示,就好像它是一個(gè)單一的表) 視圖是由一張或多張表中的數(shù)據(jù)組成的,當(dāng)你運(yùn)行視圖,會(huì)看到它的結(jié)果,就像打開(kāi)一個(gè)表時(shí)一樣。
從數(shù)據(jù)庫(kù)系統(tǒng)外部來(lái)看,視圖就如同一張表一樣,對(duì)表能夠進(jìn)行的一般操作都可以應(yīng)用于視圖,例如查詢(xún),插入,修改,刪除操作等。
SQL Server視圖的優(yōu)點(diǎn)
視圖可以執(zhí)行以下操作:
- 限制訪(fǎng)問(wèn)特定的表中的行
- 限制訪(fǎng)問(wèn)特定的表中的列
- 從多個(gè)表中加入列,并呈現(xiàn)出來(lái),好像他們是一個(gè)單一的表的一部分
- 呈現(xiàn)匯總的信息(如COUNT函數(shù)的結(jié)果)
SQL Server視圖語(yǔ)法
通過(guò)使用 CREATE VIEW 語(yǔ)句創(chuàng)建一個(gè)視圖,其次是 SELECT 語(yǔ)句,如下:
CREATE VIEW ViewName AS SELECT ...
SQL Server創(chuàng)建視圖
我們以前使用的查詢(xún)?cè)O(shè)計(jì)器創(chuàng)建兩個(gè)表中選擇數(shù)據(jù)的查詢(xún)。
現(xiàn)在讓我們將查詢(xún)保存為一個(gè)名為 “ToDoList” 的視圖。
我們需要做的就是把 CREATE VIEW ToDoList 的 AS 查詢(xún),如下:
CREATE VIEW ToDoList AS SELECT Tasks.TaskName, Tasks.Description FROM Status INNER JOIN Tasks ON Status.StatusId = Tasks.StatusId WHERE (Status.StatusId = 1)
運(yùn)行該腳本,在左窗格中刷新瀏覽文件夾,你會(huì)看到視圖就在左窗格中:
SQL Server 運(yùn)行視圖
創(chuàng)建視圖后,就可以簡(jiǎn)單地查看結(jié)果,就像你會(huì)選擇任何表。
可以簡(jiǎn)單地鍵入 select * from todolist,它會(huì)運(yùn)行完整的查詢(xún),而不是輸入出大量的 SELECT 語(yǔ)句的 INNER JOIN :
注:也可以在視圖上單擊鼠標(biāo)右鍵,并選擇 "Select Top 1000 Rows".
數(shù)據(jù)更新
該視圖將返回最新的數(shù)據(jù)。
如果表中的數(shù)據(jù)發(fā)生變化時(shí),視圖的結(jié)果會(huì)改變過(guò);所以,如果要添加新任務(wù)以及狀態(tài) "To Do", 下一次運(yùn)行來(lái)看,這將包括在結(jié)果集中的新紀(jì)錄。
修改視圖
通過(guò)使用 ALTER 修改現(xiàn)有的視圖,而不是 CREATE。
如果我們想要更改視圖就要使用 StatusName 字段,而不是 StatusId,做法如下:
ALTER VIEW ToDoList AS SELECT Tasks.TaskName, Tasks.Description FROM Status INNER JOIN Tasks ON Status.StatusId = Tasks.StatusId WHERE (Status.StatusName = 'To Do')
注:使用查詢(xún)?cè)O(shè)計(jì)器也可以右鍵單擊視圖,然后選擇設(shè)計(jì)來(lái)修改您的視圖。
正如你所看到的,視圖讓您保存查詢(xún),以便可以做一個(gè) SELECT,再次運(yùn)行它也會(huì)比較簡(jiǎn)單。
但它們的確有其局限性:它們?cè)试S選擇數(shù)據(jù),但不允許執(zhí)行任何業(yè)務(wù)邏輯,如條件語(yǔ)句等。
- SQL Server 教程
- SQL Server 版本介紹
- SQL Ssever 安裝.NET
- SQL Server 安裝說(shuō)明
- SQL Server 管理套件(SSMS)
- SQL Server 創(chuàng)建數(shù)據(jù)庫(kù)
- SQL Server 創(chuàng)建表
- SQL Server 添加數(shù)據(jù)
- SQL Server SQL腳本
- SQL Server 查詢(xún)?cè)O(shè)計(jì)器
- SQL Server 創(chuàng)建視圖
- SQL Server 存儲(chǔ)過(guò)程
- SQL Server 服務(wù)器角色
- SQL Server 數(shù)據(jù)庫(kù)模式
- SQL Server 鏈接服務(wù)器