SQL SERVER 2005中同義詞實例
在SQL SERVER 2005中,終于出現了同義詞了,大大方便了使用。下面舉個小例子說明
同義詞是用來實現下列用途的數據庫對象:
為本地或遠程服務器上的另一個數據庫對象(稱為“基對象”)提供備選名稱。
提供一個提取層,該層防止客戶端應用程序的基對象的名稱或位置被更改。
例如,名為 Server1 的服務器上有 Adventure Works 的 Employee 表。若要從另一臺服務器 Server2 引用此表,客戶端應用程序必須使用由四個部分構成的名稱 Server1.AdventureWorks.Person.Employee。另外,如果更改了表的位置(例如,更改到另一臺服務器上),那么需要修改客戶端應用程序以反映所做的更改。 之前在http://www.cnblogs.com/jackyrong/archive/2006/06/15/426304.html中已經歸納了一些特性,現在在舉出例子,例子來自老外的。 首先建立兩個數據庫Create Database RiverResearchgoUse RiverResearchgo
然后分別為兩個數據庫建立模式以及表,存儲過程如下
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數據庫里建立了兩個模式,rain,snow,再分別在這兩個模式下建立了city表,而在riversearch數據庫里也建立了個模式river,也建立了表cities,就這么簡單,不詳細表述。之后,我們查詢剛才建好的內容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
看到了么,簡單許多了再來查詢一次,這次簡單多了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