成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL Server視圖的實際操作功能描述

數據庫 SQL Server
我們今天主要和大家一起分享的是SQL Server視圖的實際操作功能,假如你對SQL Server視圖的實際操作功能有興趣了解的話,你就可以瀏覽以下的文章了。

此文主要向大家講述的是SQL Server視圖的實際操作功能,在前一段時間作項目中,我們曾遇到使用視圖的問題,以前的工作中很少遇到視圖,認為直接用表就ok了,何須視圖呢?下面我來講述一下它的功用:

以往當我們查詢數據時,一定要很認真的地從設計select語句開始,將需要查詢的每個字段寫在sql語句里,

 

前段時間作項目中,遇到使用SQL Server視圖的問題,以前的工作中很少遇到視圖,認為直接用表就ok了,何須視圖呢?下面我來講述一下它的功用:以往當我們查詢數據時,一定要很認真的地從設計select語句開始,將需要查詢的每個字段寫在sql語句里,每次你要以同樣的條件來查詢數據時,那么每次都要重復輸入相同的查詢語句,效率很低。

若將這個經常要重復使用的查詢語句創建成視圖,就不用那么麻煩了!直接用select * from 視圖名 就行了,其實將查詢語句創建成視圖,不僅僅是簡化查詢的動作;更重要的是,視圖具備數據表的特性,還可以衍生出更多的應用。

 

所謂視圖(View)其實是執行查詢語句后得到的結果,但這個查詢結果可以仿真成數據表來使用,所以有人也稱它為“虛擬數據表”,視圖在操作上和數據表沒有什么區別,但兩者的差異是其本質是不同的:

數據表是實際存儲記錄的地方,然而視圖并不保存任何記錄,它存儲的實際上是查詢語句,其所呈現出來的記錄實際來自于數據表,可以為多張數據表,大家由此可以預見到視圖應用的彈性!我們可以依據各種查詢需要創建不同SQL Server視圖,但不會因此而增加數據庫的數據量。

下面總結視圖的幾大優點:1.增強可讀性 2.數據安全及保密:針對不同用戶,可以創建不同視圖,限制其所能瀏覽和編輯的數據內容。3.降低查詢復雜度 4.方便維護。

總之,善于運用視圖可以讓數據庫的設計、管理及使用都更加有效率、更加方便。

視圖可以被看成是虛擬表或存儲查詢。可通過視圖訪問的數據不作為獨特的對象存儲在數據庫內。數據庫內存儲的是 SELECT 語句。SELECT 語句的結果集構成視圖所返回的虛擬表。用戶可以用引用表時所使用的方法,在 Transact-SQL 語句中通過引用視圖名稱來使用虛擬表。使用視圖可以實現下列任一或所有功能:

ps:leeenx的見解是,因為視圖存儲的是語句,所以在使用SQL Server視圖時,運行的速度跟使用數據表是一樣的(嚴格上說應該會慢一些,因為要先執行sql語句再生成表)

將用戶限定在表中的特定行上。

例如,只允許雇員看見工作跟蹤表內記錄其工作的行。

 

將用戶限定在特定列上。

例如,對于那些不負責處理工資單的雇員,只允許他們看見雇員表中的姓名列、辦公室列、工作電話列和部門列,而不能看見任何包含工資信息或個人信息的列。

 

將多個表中的列聯接起來,使它們看起來象一個表。

聚合信息而非提供詳細信息。

例如,顯示一個列的和,或列的***值和最小值。

 

通過定義 SELECT 語句以檢索將在視圖中顯示的數據來創建視圖。SELECT 語句引用的數據表稱為視圖的基表。在下例中,pubs 數據庫中的 titleview 是一個視圖,該視圖選擇三個基表中的數據來顯示包含常用數據的虛擬表:

 

  1. CREATE VIEW titleview  
  2. AS  
  3. SELECT title, au_ord, au_lname, price, ytd_sales, pub_id  
  4. FROM authors AS a  
  5. JOIN titleauthor AS ta ON (a.au_id = ta.au_id)  
  6. JOIN titles AS t ON (t.title_id = ta.title_id) 

 

 

之后,可以用引用表時所使用的方法在語句中引用 titleview。

 

  1. SELECT *  
  2. FROM titleview 

 

 

一個視圖可以引用另一個視圖。例如,titleview 顯示的信息對管理人員很有用,但公司通常只在季度或年度財務報表中才公布本年度截止到現在的財政數字。可以建立一個視圖,在其中包含除 au_ord 和 ytd_sales 外的所有 titleview 列。使用這個新SQL Server視圖,客戶可以獲得已上市的書籍列表而不會看到財務信息:

 

  1. CREATE VIEW Cust_titleview  
  2. AS  
  3. SELECT title, au_lname, price, pub_id  
  4. FROM titleview 

 

 

視圖可用于在多個數據庫或 Microsoft® SQL Server™ 2000 實例間對數據進行分區。分區視圖可用于在整個服務器組內分布數據庫處理。服務器組具有與服務器聚集相同的性能優點,并可用于支持***的 Web 站點或公司數據中心的處理需求。原始表被細分為多個成員表,每個成員表包含原始表的行子集。

每個成員表可放置在不同服務器的數據庫中。每個服務器也可得到分區視圖。分區視圖使用 Transact-SQL UNION 運算符,將在所有成員表上選擇的結果合并為單個結果集,該結果集的行為與整個原始表的復本完全一樣。例如在三個服務器間進行表分區。在***個服務器上定義如下的分區視圖:

 

  1. CREATE VIEW PartitionedView AS  
  2. SELECT *  
  3. FROM MyDatabase.dbo.PartitionTable1  
  4. UNION ALL  
  5. SELECT *  
  6. FROM Server2.MyDatabase.dbo.PartitionTable2  
  7. UNION ALL  
  8. SELECT *  
  9. FROM Server3.MyDatabase.dbo.PartitionTable3 

 

 

在其它兩個服務器上定義類似的分區視圖。利用這三個視圖,三個服務器上任何引用 PartitionedView 的 Transact-SQL 語句都將看到與原始表中相同的行為。似乎每個服務器上都存在原始表的復本一樣,而實際上每個表只有一個成員表和分區視圖。有關更多信息,請參見視圖使用方案。

只要所做的修改只影響視圖所引用的其中一個基表,就可以更新所有 SQL Server 版本內的視圖(可以對其執行 UPDATE、DELETE 或 INSERT 語句)。

 

  1. -- Increase the prices for publisher '0736' by 10%.  
  2. UPDATE titleview  
  3. SET priceprice = price * 1.10  
  4. WHERE pub_id = '0736' 
  5. GO 

 

 

SQL Server 2000 支持可引用視圖的更復雜的 INSERT、UPDATE 和 DELETE 語句。可在視圖上定義 INSTEAD OF 觸發器,指定必須對基表執行的個別更新以支持 INSERT、UPDATE 或 DELETE 語句。另外,分區視圖還支持 INSERT、UDPATE 和 DELETE 語句修改視圖所引用的多個成員表。

索引視圖是 SQL Server 2000 具有的功能,可顯著提高復雜SQL Server視圖類型的性能,這些視圖類型通常在數據倉庫或其它決策支持系統中出現。

視圖的結果集通常不保存在數據庫中,因此視圖也稱為虛擬表。視圖的結果集動態包含在語句邏輯中并在運行時動態生成。有關更多信息,請參見視圖解析。

復雜的查詢(如決策支持系統中的查詢)可引用基表中的大量行,并將大量信息聚積在相對較簡潔的聚合中,如總和或平均值。SQL Server 2000 支持在執行此類復雜查詢的視圖上創建聚集索引。當執行 CREATE INDEX 語句時,視圖 SELECT 的結果集將***存儲在數據庫中。SQL 語句此后若引用該視圖,響應時間將會顯著縮短。對基本數據的修改將自動反映在視圖中。

SQL Server 2000 CREATE VIEW 語句支持 SCHEMABINDING 選項,以防止視圖所引用的表在SQL Server視圖未被調整的情況下發生改變。必須為任何創建索引的視圖指定 SCHEMABINDING。

 

【編輯推薦】

  1. SQL Server自增字段插入值的步驟
  2. SQL Server數據庫之一個 SQL 2005 XML 查詢的例子
  3. SQL Server 2005降級到2000的正確操作步驟
  4. SQL Server存儲過程之新手導航
  5. SQL Server 2008數據格式修改時應注意什么?

 

責任編輯:佚名 來源: 互聯網
相關推薦

2010-07-05 12:21:57

SQL Server記

2010-07-06 09:20:30

SQL Server查

2010-07-21 15:22:07

2010-07-07 11:03:21

SQL Server索

2010-06-13 09:46:44

MySQL5觸發器

2010-06-28 12:39:14

SQL Server數

2010-07-16 11:10:52

SQL server

2010-07-23 09:25:50

SQL Server導

2010-03-29 15:57:07

Oracle exp備

2010-06-28 12:27:35

SQL Server

2010-06-30 17:56:06

2010-06-17 12:26:51

SQL Server索

2010-07-12 10:13:44

SQL Server表

2010-05-11 09:51:57

MySQL表修改

2010-06-18 08:30:48

SQL Server

2010-07-23 14:26:37

SQL Server存

2010-07-02 11:10:56

SQL Server

2010-04-16 17:17:31

Oracle訪問

2010-07-05 10:15:40

SQL Server

2010-07-20 11:13:09

SQL Server日
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美在线a | 一区二区三区国产精品 | 欧美在线视频一区二区 | 日韩欧美综合在线视频 | 久久精品视频亚洲 | 欧美视频二区 | 成人在线免费 | 久久国产精品久久久久 | 在线免费观看色 | 视频一区在线观看 | 岛国精品| 亚洲高清久久 | 色偷偷噜噜噜亚洲男人 | 精品国产一区二区国模嫣然 | 国产精品久久久久免费 | 中国三级黄色录像 | 久草网站| 国产一区二区三区高清 | 精品国产乱码久久久久久a丨 | 亚洲福利一区二区 | 欧美日韩国产在线 | 日日日日日日bbbbb视频 | 欧美精品在线免费 | 久久国产精品99久久久久久丝袜 | 欧美精品在线一区 | 国产一区二区视频免费在线观看 | 国产精品久久久久久久久久久久 | 综合色播| 99精品视频网 | 日批免费在线观看 | 免费观看的黄色网址 | 在线看日韩 | 婷婷桃色网 | 国产精品无码专区在线观看 | 精品成人| 欧美日韩精品一区二区三区四区 | 在线国产小视频 | 久久久久久久香蕉 | 国产精品夜夜夜一区二区三区尤 | 国产97在线 | 日韩 | 国产精品乱码一二三区的特点 |