SQL SERVER 2005中同義詞例項

2021-09-08 20:54:41 字數 3431 閱讀 3554

在sql server 2005中,終於出現了同義詞了,大大方便了使用。下面舉個小例子說明

同義詞是用來實現下列用途的資料庫物件:

為本地或遠端伺服器上的另乙個資料庫物件(稱為「基物件」)提供備選名稱。

提供乙個提取層,該層防止客戶端應用程式的基物件的名稱或位置被更改。

例如,名為 server1 的伺服器上有 adventure works 的 employee 表。若要從另一台伺服器 server2 引用此表,客戶端應用程式必須使用由四個部分構成的名稱 server1.adventureworks.person.employee。另外,如果更改了表的位置(例如,更改到另一台伺服器上),那麼需要修改客戶端應用程式以反映所做的更改。 之前在中已經歸納了一些特性,現在在舉出例子,例子來自老外的。

首先建立兩個資料庫

create database riverresearch

gouse riverresearch

go然後分別為兩個資料庫建立模式以及表,儲存過程如下

use rainbowresearch

gocreate schema rain

gocreate schema snow

gocreate 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, '****ei'

insert into rainbowresearch.rain.cities select 5, 'seoul'

insert into rainbowresearch.rain.cities select 6, 'mumbai'

gocreate procedure rain.displaycities @id int

asselect city from rainbowresearch.rain.cities where id=@id

gocreate 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 int

asselect city from rainbowresearch.snow.cities where id=@id

gouse riverresearch

gocreate schema river

gogo

create 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, '****ei'

insert into riverresearch.river.cities select 5, 'seoul'

gocreate procedure river.displaycities @id int

asselect city from riverresearch.river.cities where id=@id

go

這裡,在rainbowresearch資料庫裡建立了兩個模式,rain,snow,再分別在這兩個模式下建立了city表,而在
riversearch資料庫裡也建立了個模式river,也建立了表cities,就這麼簡單,不詳細表述。
之後,我們查詢剛才建好的內容

select * from riverresearch.river.cities

goselect * from rainbowresearch.rain.cities

goselect * from rainbowresearch.snow.cities

go

最後,我們建立同義詞

use rainbowresearch

gocreate synonym rivercities for riverresearch.river.cities

gocreate synonym raincities for rainbowresearch.rain.cities

gocreate synonym snowcities for rainbowresearch.snow.cities

gouse riverresearch

gocreate synonym rivercities for riverresearch.river.cities

gocreate synonym raincities for rainbowresearch.rain.cities

gocreate synonym snowcities for rainbowresearch.snow.cities

go

看到了麼,簡單許多了
再來查詢一次,這次簡單多了

use riverresearch

goselect * from rivercities

select * from raincities

select * from snowcities

gouse rainbowresearch

goselect * from rivercities

goselect * from raincities

goselect * from snowcities

go

sql server 2005中的output子句

今天看了下sql server 2005中的output子句,以使您可以從修改語句 insert update delete 中將資料返回到表變數中。帶結果的 dml 的有用方案包括清除和存檔 訊息處理應用程式以及其他方案。這一新的 output 子句的語法為 output into table v...

With在sql server 2005中的用法

with在msdn中的講解,可以參考鏈結 1 2 建立錶值變數型別 3 4create type ty newareagoods as table 5 areaid int notnull,6 goodsid int notnull 7 8 9 創鍵返回今天 的資料 10 根據有 的地區獲取參 11...

sql server 2005中的output子句

今天看了下sql server 2005中的output子句,以使您可以從修改語句 insert update delete 中將資料返回到表變數中。帶結果的 dml 的有用方案包括清除和存檔 訊息處理應用程式以及其他方案。這一新的 output 子句的語法為 output into table v...