建站技術網專注分享網站建設技術,網站建設教程,真正幫你學會做網站技術,輕松解決網站建設過程中遇到的常見問題,為廣大站長服務。 網站地圖 | 收藏本站 | 訂閱
域名投資,就來找米網,認準網址:www.zhaomi.cc 專業仿站,就到仿站網:www.fangzhan.org
  站內公告: ·帝國cms教程內容已更新,歡迎關注     ·建站技術網采用阿里云服務器,備案已通    
您當前的位置:建站技術網 > 數據庫教程 > SQLserver教程

SQL Server視圖

時間:2018-02-02 12:37:28  來源:網絡收集  整理: 建站技術網 www.txwlqq.com     點擊:17次

在SQL Server中,視圖是被存儲在數據庫中的預寫查詢。視圖是由一個SELECT語句,當你運行視圖,會看到它的結果,就像打開一個表時一樣。 有些人喜歡把視圖稱作為虛擬表。這是因為,一個視圖可以拉動多個表,并匯總數據在一起并將其顯示,就好像它是一個單一的表。

視圖的優點

當有多個用戶提供不同級別的訪問權限,需要看到在數據庫中(但不一定是所有數據)中的數據的各不同部分的視圖,可能是有用的。視圖可以執行以下操作:

  • 限制訪問特定的表中的行

  • 限制訪問特定的表中的列

  • 從多個表中加入列,并呈現出來,好像他們是一個單一的表的一部分

  • 呈現匯總的信息(如COUNT函數的結果)

視圖語法

創建一個視圖通過使用CREATE VIEW語句,其次是SELECT語句。

CREATE VIEW ViewName AS
SELECT ...

創建視圖

我們以前使用的查詢設計器創建兩個表中選擇數據的查詢,F在讓我們在查詢并將其保存為一個名為“ToDoList”的視圖;旧,我們需要做的就是把CREATE VIEW ToDoList的AS查詢,像這樣的面前:

CREATE VIEW ToDoList AS
SELECT	Tasks.TaskName, Tasks.DescriptionFROM	Status INNER JOIN			Tasks ON Status.StatusId = Tasks.StatusIdWHERE	(Status.StatusId = 1)

一旦運行該腳本,刷新瀏覽文件夾在左窗格中,你會看到視圖就在左窗格中:

Screenshot of view

運行視圖

所以,現在你已經創建的視圖,你可以簡單地查看結果選擇它就像你會選擇任何表。而不是輸入出大SELECT語句的INNER JOIN等等,可以簡單地鍵入select* from todolist,它會運行完整的查詢:
Screenshot of view results

注:也可以在視圖上單擊鼠標右鍵,并選擇 "Select Top 1000 Rows".

數據更新

該視圖將返回最新的數據。如果表中的數據發生變化時,視圖的結果會改變過。所以,如果要添加新任務以及狀態 "To Do", 下一次運行來看,這將包括在結果集中的新紀錄。

修改視圖

可以通過使用ALTER而不是CREATE修改現有的視圖。

因此,如果我們想要更改視圖使用StatusName字段,而不是StatusId,我們可以這樣做:

ALTER VIEW ToDoList AS
SELECT	Tasks.TaskName, Tasks.DescriptionFROM	Status INNER JOIN			Tasks ON Status.StatusId = Tasks.StatusIdWHERE	(Status.StatusName = 'To Do')

注:使用查詢設計器也可以右鍵單擊視圖,然后選擇設計來修改您的視圖。

正如你所看到的,視圖讓您保存查詢,以便可以做一個SELECT,再次運行它也會比較簡單。但它們的確有其局限性。它們允許選擇數據,但不允許執行任何業務邏輯,如條件語句等。 要做到這一點需要一個存儲過程。 


標簽:
文章標題:SQL Server視圖
文章網址:http://www.txwlqq.com/shujuku/SQLserver/3766.html
上一篇:SQL Server查詢設計器
下一篇:SQL Server存儲過程
來頂一下
返回首頁
返回首頁
相關文章
    無相關信息
推薦資訊
如何通過SEO優化排名賺錢?SEO賺錢方法
如何通過SEO優化排名賺
seo優化教程:網站seo內容優化
seo優化教程:網站seo
SEO細節:企業SEO如何快速為新站做出效果
SEO細節:企業SEO如何
電商技術將如何發展?2018年有這五個大膽預測
電商技術將如何發展?
最新文章
欄目更新
欄目熱門
成人黄色