<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Feng.Li's Java See

    抓緊時(shí)間,大步向前。
    隨筆 - 95, 文章 - 4, 評(píng)論 - 58, 引用 - 0
    數(shù)據(jù)加載中……

    SQL 視圖

    視圖可以被看成是虛擬表或存儲(chǔ)查詢。可通過(guò)視圖訪問(wèn)的數(shù)據(jù)不作為獨(dú)特的對(duì)象存儲(chǔ)在數(shù)據(jù)庫(kù)內(nèi)。數(shù)據(jù)庫(kù)內(nèi)存儲(chǔ)的是 SELECT 語(yǔ)句。SELECT 語(yǔ)句的結(jié)果集構(gòu)成視圖所返回的虛擬表。用戶可以用引用表時(shí)所使用的方法,在 Transact-SQL 語(yǔ)句中通過(guò)引用視圖名稱來(lái)使用虛擬表。使用視圖可以實(shí)現(xiàn)下列任一或所有功能:

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

      例如,只允許雇員看見(jiàn)工作跟蹤表內(nèi)記錄其工作的行。

    • 將用戶限定在特定列上。

      例如,對(duì)于那些不負(fù)責(zé)處理工資單的雇員,只允許他們看見(jiàn)雇員表中的姓名列、辦公室列、工作電話列和部門(mén)列,而不能看見(jiàn)任何包含工資信息或個(gè)人信息的列。

    • 將多個(gè)表中的列聯(lián)接起來(lái),使它們看起來(lái)象一個(gè)表

       
    • 聚合信息而非提供詳細(xì)信息。

      例如,顯示一個(gè)列的和,或列的最大值和最小值。

    通過(guò)定義 SELECT 語(yǔ)句以檢索將在視圖中顯示的數(shù)據(jù)來(lái)創(chuàng)建視圖。SELECT 語(yǔ)句引用的數(shù)據(jù)表稱為視圖的基表。在下例中,pubs 數(shù)據(jù)庫(kù)中的 titleview 是一個(gè)視圖,該視圖選擇三個(gè)基表中的數(shù)據(jù)來(lái)顯示包含常用數(shù)據(jù)的虛擬表:

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

    之后,可以用引用表時(shí)所使用的方法在語(yǔ)句中引用 titleview

    				SELECT *
    FROM titleview
    
    		

    一個(gè)視圖可以引用另一個(gè)視圖。例如,titleview 顯示的信息對(duì)管理人員很有用,但公司通常只在季度或年度財(cái)務(wù)報(bào)表中才公布本年度截止到現(xiàn)在的財(cái)政數(shù)字。可以建立一個(gè)視圖,在其中包含除 au_ordytd_sales 外的所有 titleview 列。使用這個(gè)新視圖,客戶可以獲得已上市的書(shū)籍列表而不會(huì)看到財(cái)務(wù)信息:

    				CREATE VIEW Cust_titleview
    AS
    SELECT title, au_lname, price, pub_id
    FROM titleview
    
    		

    視圖可用于在多個(gè)數(shù)據(jù)庫(kù)或 Microsoft? SQL Server? 2000 實(shí)例間對(duì)數(shù)據(jù)進(jìn)行分區(qū)。分區(qū)視圖可用于在整個(gè)服務(wù)器組內(nèi)分布數(shù)據(jù)庫(kù)處理。服務(wù)器組具有與服務(wù)器聚集相同的性能優(yōu)點(diǎn),并可用于支持最大的 Web 站點(diǎn)或公司數(shù)據(jù)中心的處理需求。原始表被細(xì)分為多個(gè)成員表,每個(gè)成員表包含原始表的行子集。每個(gè)成員表可放置在不同服務(wù)器的數(shù)據(jù)庫(kù)中。每個(gè)服務(wù)器也可得到分區(qū)視圖。分區(qū)視圖使用 Transact-SQL UNION 運(yùn)算符,將在所有成員表上選擇的結(jié)果合并為單個(gè)結(jié)果集,該結(jié)果集的行為與整個(gè)原始表的復(fù)本完全一樣。例如在三個(gè)服務(wù)器間進(jìn)行表分區(qū)。在第一個(gè)服務(wù)器上定義如下的分區(qū)視圖:

    				CREATE VIEW PartitionedView AS
    SELECT *
        FROM MyDatabase.dbo.PartitionTable1
    UNION ALL
    SELECT *
        FROM Server2.MyDatabase.dbo.PartitionTable2
    UNION ALL
    SELECT *
        FROM Server3.MyDatabase.dbo.PartitionTable3
    
    		

    在其它兩個(gè)服務(wù)器上定義類似的分區(qū)視圖。利用這三個(gè)視圖,三個(gè)服務(wù)器上任何引用 PartitionedView 的 Transact-SQL 語(yǔ)句都將看到與原始表中相同的行為。似乎每個(gè)服務(wù)器上都存在原始表的復(fù)本一樣,而實(shí)際上每個(gè)表只有一個(gè)成員表和分區(qū)視圖。有關(guān)更多信息,請(qǐng)參見(jiàn)視圖使用方案

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

    				-- Increase the prices for publisher '0736' by 10%.
    UPDATE titleview
    SET price = price * 1.10
    WHERE pub_id = '0736'
    GO
    
    		

    SQL Server 2000 支持可引用視圖的更復(fù)雜的 INSERT、UPDATE 和 DELETE 語(yǔ)句。可在視圖上定義 INSTEAD OF 觸發(fā)器,指定必須對(duì)基表執(zhí)行的個(gè)別更新以支持 INSERT、UPDATE 或 DELETE 語(yǔ)句。另外,分區(qū)視圖還支持 INSERT、UDPATE 和 DELETE 語(yǔ)句修改視圖所引用的多個(gè)成員表。

    索引視圖是 SQL Server 2000 具有的功能,可顯著提高復(fù)雜視圖類型的性能,這些視圖類型通常在數(shù)據(jù)倉(cāng)庫(kù)或其它決策支持系統(tǒng)中出現(xiàn)。

    視圖的結(jié)果集通常不保存在數(shù)據(jù)庫(kù)中,因此視圖也稱為虛擬表。視圖的結(jié)果集動(dòng)態(tài)包含在語(yǔ)句邏輯中并在運(yùn)行時(shí)動(dòng)態(tài)生成。有關(guān)更多信息,請(qǐng)參見(jiàn)視圖解析

    復(fù)雜的查詢(如決策支持系統(tǒng)中的查詢)可引用基表中的大量行,并將大量信息聚積在相對(duì)較簡(jiǎn)潔的聚合中,如總和或平均值。SQL Server 2000 支持在執(zhí)行此類復(fù)雜查詢的視圖上創(chuàng)建聚集索引。當(dāng)執(zhí)行 CREATE INDEX 語(yǔ)句時(shí),視圖 SELECT 的結(jié)果集將永久存儲(chǔ)在數(shù)據(jù)庫(kù)中。SQL 語(yǔ)句此后若引用該視圖,響應(yīng)時(shí)間將會(huì)顯著縮短。對(duì)基本數(shù)據(jù)的修改將自動(dòng)反映在視圖中。

    SQL Server 2000 CREATE VIEW 語(yǔ)句支持 SCHEMABINDING 選項(xiàng),以防止視圖所引用的表在視圖未被調(diào)整的情況下發(fā)生改變。必須為任何創(chuàng)建索引的視圖指定 SCHEMABINDING。

    posted on 2007-03-29 10:19 小鋒 閱讀(235) 評(píng)論(0)  編輯  收藏 所屬分類: Oracle

    主站蜘蛛池模板: 亚洲av乱码一区二区三区香蕉| 免费夜色污私人影院在线观看| 在线免费观看你懂的| 亚洲欧洲日本在线| 亚洲人成黄网在线观看| 在线日本高清免费不卡| 亚洲视频国产视频| 最近2019中文字幕免费直播 | 中文字幕免费在线| 久久久无码精品亚洲日韩按摩| 成全高清在线观看免费| 婷婷精品国产亚洲AV麻豆不片| 久久国产乱子伦精品免费看| 日本免费一区二区三区最新vr| 亚洲第一第二第三第四第五第六| 国产一区二区三区在线免费观看 | 亚洲av成人片在线观看| 国产免费久久精品久久久| 亚洲AV无码国产丝袜在线观看| 亚洲色大成网站www| 日本免费观看网站| 老司机午夜性生免费福利| 亚洲香蕉成人AV网站在线观看| 久久久久国色av免费看| 亚洲无线一二三四区| 成全视频在线观看免费| 亚洲精品tv久久久久久久久久| 最近免费中文字幕MV在线视频3 | 特级aa**毛片免费观看| 最新国产AV无码专区亚洲| 午夜精品免费在线观看| 亚洲依依成人亚洲社区| 亚洲国产精品综合久久网络| 精品在线免费观看| 亚洲精品国产综合久久久久紧| 国产成人精品久久亚洲| 国产成人精品免费午夜app| 久久亚洲精品中文字幕无码| www在线观看播放免费视频日本| 日韩a级毛片免费视频| 色偷偷女男人的天堂亚洲网|