日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

利用同義詞簡化SQL Server 2005開發(fā)

瀏覽:39日期:2023-10-30 18:58:16
一. 引言如果你曾經(jīng)使用SQL Server開發(fā)過任何軟件,那么你肯定會習(xí)慣于使用四部分標(biāo)識符來參考一個對象:[[[server.][database].][schema_name].]object_name正如上面的方括號所顯示的,該語法的不同部分可以被忽略,只要你提供足夠的表達(dá)來無二義地標(biāo)識你的對象即可。例如,下面所有這些表達(dá)都可能參考相同的對象:Server1.AdventureWorks.Production.ProductCategoryAdventureWorks.Production.ProductCategoryAdventureWorks..ProductCategoryProductCategory在大多數(shù)情況下,你可以僅使用三部分名字而忽略服務(wù)器名-除非你是在處理在一個連接的服務(wù)器上的對象。默認(rèn)情況下,所有對象的上下文都是本地數(shù)據(jù)庫-你的SQL語句在其中執(zhí)行。但是,有些情況下,或者更為準(zhǔn)確地說,你必須使用這整個四部分命名(或稱作一種全稱限定名)。但是,在SQL Server 2005中,這種情況有所改變。二. 熟悉同義詞SQL Server 2005引入了一個同義詞的概念,這是一個單部分的名字,它可以替換在許多SQL語句中的一個兩、三或四部分的名字。使用同義詞可以讓你減少輸入,而且還能提供一個抽象層來為你保護(hù)底層對象的改變。為了理解其工作原理,讓我們先看一下創(chuàng)建同義詞的語法。下面是CREATE SYNONYM語句的語法: CREATE SYNONYM [schema_name.]synonym_name FOR object_name在此,object_name是一個SQL Server對象(全稱限定已經(jīng)足以能夠標(biāo)識出這個對象)的名字,而synonym_name是你想賦給它的新名字。如果你不想為同義詞指定一種模式,那么SQL Server使用當(dāng)前的用戶的默認(rèn)模式。當(dāng)你創(chuàng)建同義詞時,相應(yīng)的對象不需要存在,因為同義詞是遲綁定的:當(dāng)你實際上使用同義詞時,SQL Server僅僅檢查基對象。例如,在AdventureWorks示例數(shù)據(jù)庫中,你可以以下列方式創(chuàng)建一個同義詞:CREATE SYNONYM ProdCatFOR AdventureWorks.Production.ProductCategory之后,你可以繼續(xù)使用在SQL語句中的同義詞了。例如:SELECT * FROM ProdCat圖1顯示出相應(yīng)的結(jié)果:利用同義詞簡化SQL Server 2005開發(fā)當(dāng)你使用完一個同義詞后,你可以使用DROP SYNONYM語句來去掉它,它具有你期望的語法格式:DROP SYNONYM [schema_name.]synonym_name三. 幾點細(xì)節(jié)當(dāng)然,對于同義詞的使用上也存在一些限制。對于初學(xué)者來說,你不能為任何東西都創(chuàng)建一個同義詞。SQL Server 2005比以前引入了更多的對象,但是同義詞僅限于應(yīng)用于核心集的最有用的一些對象中:· 表· 視圖· 存儲過程· CLR存儲過程· CLR函數(shù)· 復(fù)制過濾過程· 擴(kuò)展存儲過程· SQL標(biāo)量,表值以及內(nèi)聯(lián)表值函數(shù)關(guān)于在什么情況下使用同義詞還存在一些限制。一般來說,你可以在下面這些T-SQL語句中使用一個同義詞:· SELECT· sub-selects· UPDATE· INSERT· DELETE· EXECUTE如果你仔細(xì)考慮一下,那么第二個表不應(yīng)該太奇怪:它包含了最常用的where語句。注意,你不能在一個DDL語句中參考一個同義詞。如果你想使用ALTER TABLE來改變ProductCategory表中的內(nèi)容,那么,你需要使用基表而不是使用ProdCat同義詞。為了創(chuàng)建一個同義詞,你需要CREATE SYNONYM權(quán)限。在創(chuàng)建一個同義詞后,它就有了與其自己相關(guān)聯(lián)的GRANT,DENY和REVOKE許可權(quán)。四. 把同義詞作為一個抽象層除了節(jié)省你的輸入時間外,同義詞還可以用作你的數(shù)據(jù)庫的不穩(wěn)定的或經(jīng)常更新部分的一個抽象層。這是因為同義詞及其基對象之間的綁定僅在運行時刻檢查,而不是在設(shè)計時刻。為了說明這個問題,如果你重新定義ProdCat同義詞,請研究下面發(fā)生什么情況:DROP SYNONYM ProdCatCREATE SYNONYM ProdCatFOR AdventureWorks.Production.ProductCategorySELECT * FROM ProdCatDROP SYNONYM ProdCatCREATE SYNONYM ProdCatFOR AdventureWorks.Production.CultureSELECT * FROM ProdCat注意,當(dāng)你任何時候想改變一個同義詞時,你需要使用DROP和CREATE;不存在ALTER SYNONYM語句。圖2顯示出運行這個批處理語句的結(jié)果。注意,在此,語句SELECT * FROM ProdCat與前面的第二次執(zhí)行結(jié)果懸殊很大,因為同義詞被重新定義以參考一個不同的表。當(dāng)然,你可以把這種行為應(yīng)用于你自己的應(yīng)用程序中。例如,假定你有一個程序,它需要分析來自于多種數(shù)據(jù)庫的顧客數(shù)據(jù)。不是把基表與單個數(shù)據(jù)庫連接起來或斷開連接,或編寫復(fù)雜的選擇表格進(jìn)行分析的SQL,而是使用同義詞。定義一個同義詞,例如DataTable,來參考你想使用的數(shù)據(jù)的四部分名字,并且重新定義它-無論何時你想要切換源數(shù)據(jù)。當(dāng)然,這種遲綁定也是一把雙刃劍。因為SQL Server并不追蹤是否一個同義詞指向任何東西,它也不會進(jìn)行任何模式綁定排序。如果你刪除一個應(yīng)用于另一個語句中的同義詞,那么你可能直到試圖運行該語句時才發(fā)現(xiàn)出了問題。五. 小結(jié)你能夠開發(fā)自己的下一個SQL Server應(yīng)用程序而不使用同義詞嗎?當(dāng)然可以。它們并沒有為數(shù)據(jù)庫表帶來根本性的新內(nèi)容;你可以總是使用完全限定名字-在任何你想使用一個同義詞的地方。但是有時把這些'小東西'加入到你的產(chǎn)品是一件不錯的事情,就因為它們能夠?qū)崿F(xiàn)更少的輸入和帶給開發(fā)者一種更容易的體驗。也許在一個應(yīng)用程序的開發(fā)過程的某一階段同義詞將僅會節(jié)省你10分鐘時間,但是所有這些小的10分鐘相加應(yīng)該是個不少的數(shù)目吧!
標(biāo)簽: Sql Server 數(shù)據(jù)庫
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久久久久免费视频| 国产精品任我爽爆在线播放| 国产精品一区二区三区www| 日韩超碰人人爽人人做人人添| 欧美综合另类| 欧美日韩国产一区精品一区| 狠狠躁少妇一区二区三区| 日韩激情中文字幕| 综合一区av| 麻豆视频久久| 久久精品高清| 视频一区在线视频| 亚洲精品福利| 免费在线播放第一区高清av| 日韩黄色大片网站| 亚洲欧美日韩国产一区二区| 亚洲综合激情在线| 国产伦精品一区二区三区视频| 国产精品久久久久久模特 | 日韩av不卡一区二区| 日本va欧美va精品发布| 国产精品一站二站| www成人在线视频| 综合欧美精品| 超碰成人av| 日韩欧美另类中文字幕| 美女性感视频久久| 蜜桃av一区| 成人国产精选| 亚洲精品日本| 久久影院午夜精品| 一区二区国产在线观看| 亚洲精品一级二级| 人人精品久久| 一区视频在线| 亚洲精品.com| 91欧美极品| 亚洲成人二区| 老鸭窝一区二区久久精品| 99国产精品久久久久久久成人热| 国产精品任我爽爆在线播放 | 精品久久视频| 日韩精品亚洲专区| 欧美日韩中文一区二区| 国产精品九九| 蜜桃av一区二区在线观看| 精品久久久网| 亚洲精品国产日韩| 性色av一区二区怡红| 99久久亚洲精品蜜臀| 日本一二区不卡| 久久不见久久见中文字幕免费| 免费的成人av| 日本欧美在线看| 久久在线免费| 久久91导航| 神马久久午夜| 国产精品1区| 国产欧美另类| 国产精品大片| 麻豆精品在线观看| 国产精品乱战久久久| 亚洲永久字幕| 黄色成人91| 免费久久精品| 好看不卡的中文字幕| 欧美特黄一级| 亚洲v天堂v手机在线| 爽好久久久欧美精品| 综合在线一区| 欧美精品97| 久久精品亚洲| 久久久久91| 蜜臀va亚洲va欧美va天堂| 中文一区一区三区免费在线观 | 欧美日韩亚洲一区在线观看| 99久久久国产精品美女| 欧美va天堂| 综合国产精品| 欧美午夜三级| 精品视频一二| 91国语精品自产拍| 爽好久久久欧美精品| 欧美aa在线视频| 久久国产直播| 久久成人国产| 久久精品国产久精国产| 蜜臀av国产精品久久久久| 在线国产一区| 久久亚洲电影| 美女视频黄免费的久久| 久久男人av| 日韩精品一卡二卡三卡四卡无卡| 欧美日韩亚洲一区在线观看| 午夜av成人| 国产欧美69| 黑丝一区二区| 精品五月天堂| 亚洲欧美在线综合| 欧美成a人免费观看久久| 日韩在线网址| 激情久久婷婷| 精品视频在线你懂得| 视频一区中文字幕国产| 国产精品精品| 久久激五月天综合精品| 中文字幕成在线观看| 日本不卡一二三区黄网| 成人午夜国产| 在线亚洲人成| 久久精品国产亚洲aⅴ| 亚洲我射av| 黄色av日韩| 久久一区二区中文字幕| 久久a爱视频| 国产亚洲欧美日韩精品一区二区三区 | 老司机精品视频在线播放| 国内亚洲精品| 美女av在线免费看| 婷婷视频一区二区三区| 婷婷综合社区| 国产99久久| 久久久精品五月天| 欧洲亚洲一区二区三区| 日韩精品2区| 色在线中文字幕| 国产美女高潮在线| 国产aⅴ精品一区二区三区久久| 日韩av网站在线免费观看| 精品91久久久久| 久久久久久久久丰满| 婷婷中文字幕一区| 91精品蜜臀一区二区三区在线| 国产精品久久观看| 国产精品jk白丝蜜臀av小说| 欧美片第1页综合| 欧美国产日本| 午夜精品久久久久久久久久蜜桃| 国产精品a级| 色婷婷综合网| 免费看av不卡| 国产传媒av在线| 欧美亚洲国产精品久久| 亚洲91精品| 免费看黄色91| 日韩二区在线观看| 国产精品亚洲人成在99www| 国产精品地址| 欧美不卡视频| 欧美专区一区二区三区| 欧美日韩亚洲一区二区三区在线| 国产精品亚洲综合在线观看| 黄色在线网站噜噜噜| 亚洲欧洲另类| 国产精品hd| 蜜桃视频欧美| 里番精品3d一二三区| 夜夜嗨网站十八久久| 婷婷综合一区| 国产精品成人一区二区不卡| 欧美日韩精品一本二本三本| 日韩av电影一区| 影院欧美亚洲| 91综合网人人| 日av在线不卡| 久久久久久久久丰满| 国产乱码精品一区二区三区四区| 色爱av综合网| 国产九九精品| 久久高清免费观看| 精品久久一区| 青青草精品视频| 午夜欧美精品| 日韩不卡一区| 欧美亚洲三级| 免费的成人av| 性欧美长视频| 欧美性感美女一区二区| 捆绑调教日本一区二区三区| 欧美.日韩.国产.一区.二区 | 日韩高清一区二区| 天堂网av成人| 麻豆成全视频免费观看在线看| 欧美日韩va| 91成人精品在线| 四虎精品一区二区免费| 亚洲男女av一区二区| 久久婷婷久久| 欧美va天堂在线| 欧美成人久久| 另类专区亚洲| jizzjizz中国精品麻豆| 国产在线观看www| 中文字幕在线免费观看视频| 成人在线视频免费看| 色爱综合网欧美| 久久天堂成人| 欧美女激情福利| 日韩精品一区二区三区中文 | 日韩精品免费一区二区在线观看 |