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