SQL SERVER 2005中同義詞實(shí)例
在SQL SERVER 2005中,終于出現(xiàn)了同義詞了,大大方便了使用。下面舉個(gè)小例子說(shuō)明
同義詞是用來(lái)實(shí)現(xiàn)下列用途的數(shù)據(jù)庫(kù)對(duì)象:
為本地或遠(yuǎn)程服務(wù)器上的另一個(gè)數(shù)據(jù)庫(kù)對(duì)象(稱為“基對(duì)象”)提供備選名稱。
提供一個(gè)提取層,該層防止客戶端應(yīng)用程序的基對(duì)象的名稱或位置被更改。
例如,名為 Server1 的服務(wù)器上有 Adventure Works 的 Employee 表。若要從另一臺(tái)服務(wù)器 Server2 引用此表,客戶端應(yīng)用程序必須使用由四個(gè)部分構(gòu)成的名稱 Server1.AdventureWorks.Person.Employee。另外,如果更改了表的位置(例如,更改到另一臺(tái)服務(wù)器上),那么需要修改客戶端應(yīng)用程序以反映所做的更改。 之前在http://www.cnblogs.com/jackyrong/archive/2006/06/15/426304.html中已經(jīng)歸納了一些特性,現(xiàn)在在舉出例子,例子來(lái)自老外的。 首先建立兩個(gè)數(shù)據(jù)庫(kù)Create Database RiverResearchgoUse RiverResearchgo
然后分別為兩個(gè)數(shù)據(jù)庫(kù)建立模式以及表,存儲(chǔ)過(guò)程如下
Use RainbowResearchgoCreate Schema RaingoCreate Schema SnowgoCreate table Rainbowresearch.Rain.Cities (id int, City varchar(200))goinsert into Rainbowresearch.Rain.Cities; select 1, 'Hongkong'insert into Rainbowresearch.Rain.Cities; select 2, 'Tokyo'insert into Rainbowresearch.Rain.Cities; select 3, 'Beijing'insert into Rainbowresearch.Rain.Cities; select 4, 'Taipei'insert into Rainbowresearch.Rain.Cities; select 5, 'Seoul'insert into Rainbowresearch.Rain.Cities; select 6, 'Mumbai'goCreate procedure Rain.DisplayCities @id intasSelect City from Rainbowresearch.Rain.Cities where id=@idgoCreate table Rainbowresearch.Snow.Cities (id int, City varchar(200))goinsert into Rainbowresearch.Snow.Cities; select 1, 'Tokyo'insert into Rainbowresearch.Snow.Cities; select 2, 'Seoul'insert into Rainbowresearch.Snow.Cities; select 3, 'Moscow'insert into Rainbowresearch.Snow.Cities; select 4, 'NewYork'goCreate procedure Snow.DisplayCities @id intasSelect City from Rainbowresearch.Snow.Cities where id=@idgoUse RiverResearchgoCreate Schema RivergogoCreate table RiverResearch.River.Cities (id int, City varchar(200))goinsert into RiverResearch.River.Cities; select 1, 'Hongkong'insert into RiverResearch.River.Cities; select 2, 'Tokyo'insert into RiverResearch.River.Cities; select 3, 'Beijing'insert into RiverResearch.River.Cities; select 4, 'Taipei'insert into RiverResearch.River.Cities; select 5, 'Seoul'goCreate procedure River.DisplayCities @id intasSelect City from RiverResearch.River.Cities where id=@idGo這里,在RainbowResearch數(shù)據(jù)庫(kù)里建立了兩個(gè)模式,rain,snow,再分別在這兩個(gè)模式下建立了city表,而在riversearch數(shù)據(jù)庫(kù)里也建立了個(gè)模式river,也建立了表cities,就這么簡(jiǎn)單,不詳細(xì)表述。之后,我們查詢剛才建好的內(nèi)容select * from RiverResearch.River.Citiesgoselect * from Rainbowresearch.Rain.Citiesgoselect * from Rainbowresearch.Snow.Citiesgo
最后,我們建立同義詞use RainbowResearchgocreate SYNONYM; RiverCities for RiverResearch.River.Citiesgocreate SYNONYM; RainCities for Rainbowresearch.Rain.Citiesgocreate SYNONYM; SnowCities for Rainbowresearch.Snow.Citiesgouse RiverResearchgocreate SYNONYM; RiverCities for RiverResearch.River.Citiesgocreate SYNONYM; RainCities for Rainbowresearch.Rain.Citiesgocreate SYNONYM; SnowCities for Rainbowresearch.Snow.Citiesgo
看到了么,簡(jiǎn)單許多了再來(lái)查詢一次,這次簡(jiǎn)單多了Use RiverResearchgoSelect * from RiverCitiesSelect * from RainCitiesSelect * from SnowCitiesGoUse RainbowResearchgoSelect * from RiverCitiesgoSelect * from RainCitiesgoSelect * from SnowCitiesgo
http://www.cnblogs.com/jackyrong/archive/2006/11/15/561287.html
