文章出處
文章列表
From : http://www.cnblogs.com/jackyrong/archive/2006/11/15/561287.html
在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 RiverResearch
go
Use RiverResearch
go
然后分別為兩個數據庫建立模式以及表,存儲過程如下
Use RainbowResearch go Create Schema Rain go Create Schema Snow go Create table Rainbowresearch.Rain.Cities (id int, City varchar(200)) go insert 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' go Create procedure Rain.DisplayCities @id int as Select City from Rainbowresearch.Rain.Cities where id=@id go Create table Rainbowresearch.Snow.Cities (id int, City varchar(200)) go insert 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' go Create procedure Snow.DisplayCities @id int as Select City from Rainbowresearch.Snow.Cities where id=@id go Use RiverResearch go Create Schema River go go Create table RiverResearch.River.Cities (id int, City varchar(200)) go insert 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' go Create procedure River.DisplayCities @id int as Select City from RiverResearch.River.Cities where id=@id Go
這里,在RainbowResearch數據庫里建立了兩個模式,rain,snow,再分別在這兩個模式下建立了city表,而在
riversearch數據庫里也建立了個模式river,也建立了表cities,就這么簡單,不詳細表述。
之后,我們查詢剛才建好的內容
select * from RiverResearch.River.Cities go select * from Rainbowresearch.Rain.Cities go select * from Rainbowresearch.Snow.Cities go
最后,我們建立同義詞
use RainbowResearch go create SYNONYM RiverCities for RiverResearch.River.Cities go create SYNONYM RainCities for Rainbowresearch.Rain.Cities go create SYNONYM SnowCities for Rainbowresearch.Snow.Cities go use RiverResearch go create SYNONYM RiverCities for RiverResearch.River.Cities go create SYNONYM RainCities for Rainbowresearch.Rain.Cities go create SYNONYM SnowCities for Rainbowresearch.Snow.Cities go
看到了么,簡單許多了
再來查詢一次,這次簡單多了
Use RiverResearch go Select * from RiverCities Select * from RainCities Select * from SnowCities Go Use RainbowResearch go Select * from RiverCities go Select * from RainCities go Select * from SnowCities go
---------------------->>>
文章列表
全站熱搜