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

---------------------->>>

SQL SERVER 2005中同义词实例的更多相关文章

  1. SQL Server 2005中更改sa的用户名和密码

    修改数据库SA账号名称的代码如下:  代码如下: Alter LOGIN sa DISABLE Alter LOGIN sa WITH NAME = [systemAccount] "sys ...

  2. 浅析SQL Server 2005中的主动式通知机制

    一.引言 在开发多人同时访问的Web应用程序(其实不只这类程序)时,开发人员往往会在缓存策略的设计上狠下功夫.这是因为,如果将这种环境下不常变更的数据临时存放在应用程序服务器或是用户机器上的话,可以避 ...

  3. SQL Server 2005中的分区表

    记录笔记: 转自 猪八戒学做网站 SQL Server 2005中的分区表(一):什么是分区表?为什么要用分区表?如何创建分区表? SQL Server 2005中的分区表(二):如何添加.查询.修改 ...

  4. SQL Server 2005 中实现通用的异步触发器架构

    在SQL Server 2005中,通过新增的Service Broker可以实现异步触发器的处理功能.本文提供一种使用Service Broker实现的通用异步触发器方法. 在本方法中,通过Serv ...

  5. SQL Server 2005中的分区表(六):将已分区表转换成普通表(转)

    我的俄罗斯名叫作“不折腾不舒服斯基”,所以,不将分区表好好折腾一下,我就是不舒服. 在前面,我们介绍过怎么样直接创建一个分区表,也介绍过怎么将一个普通表转换成一个分区表.那么,这两种方式创建的表有什么 ...

  6. SQL Server 2005中的CHECKSUM功能

    原文:SQL Server 2005中的CHECKSUM功能 转自此处 页面 checksum 是SQL2005的新功能,提供了一种比残缺页检测强大的机制检测IO方面的损坏.以下是详细描述: 页面 C ...

  7. SQL SERVER 2005中如何获取日期(一个月的最后一日、上个月第一天、最后一天、一年的第一日等等)

    原文:[转]SQL SERVER 2005中如何获取日期(一个月的最后一日.上个月第一天.最后一天.一年的第一日等等) 在网上找到的一篇文章,相当不错哦O(∩_∩)O~ //C#本周第一天       ...

  8. SQL Server 2005中设置Reporting Services发布web报表的匿名访问

    原文:SQL Server 2005中设置Reporting Services发布web报表的匿名访问 一位朋友提出个问题:集成到SQL Server 2005中的Reporting Services ...

  9. SQL Server 2005 中实现通用的异步触发器架构 (转)

    在SQL Server 2005中,通过新增的Service Broker可以实现异步触发器的处理功能.本文提供一种使用Service Broker实现的通用异步触发器方法. 在本方法中,通过Serv ...

随机推荐

  1. 160923、项目管理模式:如何去除SVN标记

    项目管理模式:如何去除SVN标记 当我们从工作空间中拷贝一个项目,发现项目特别大.那是因为当使用svn里面保留了每个版本的信息,我们可以通过这个方法来进行去除 当项目不需要SVN标志的时候,我们一般怎 ...

  2. myeclipse启动报错 no java virtual machine。。。

    如果环境变量里已经配置了JAVA_HOME,但是在启动的时候还会提示下面的信息:   A Java Runtime Environment (JRE) or Java Development Kit ...

  3. java.lang.Runtime类总结 【转】

    转自:http://blog.chinaunix.net/uid-128922-id-289994.html  Runtime类封装了运行时的环境.每个 Java 应用程序都有一个 Runtime 类 ...

  4. Java中常见数据结构:list与map

    1:集合 Collection(单列集合) List(有序,可重复) ArrayList 底层数据结构是数组,查询快,增删慢 线程不安全,效率高 Vector 底层数据结构是数组,查询快,增删慢 线程 ...

  5. 使用163CentOS镜像

    CentOS镜像使用帮助 收录架构 i386 x86_64 SRPMS 收录版本 5 6 更新时间 每5小时更新一次   使用说明 首先备份/etc/yum.repos.d/CentOS-Base.r ...

  6. 【jQuery UI 1.8 The User Interface Library for jQuery】.学习笔记.4.Tabs控件

    之前,我们已经介绍了 jQuery UI 库,CSS 框架.下面,我们将学习这些有增强可视化效果,高度可配置的用户交互组件. Tab 的特性是,点击 tab 后,会高亮该 tab,并显示他的关联con ...

  7. DBLINK的session无法关闭,报异常!

    ------解决方法-------------------------------------------------------- --ALTER SESSION alter session clo ...

  8. 在MyEclipse中搭建Spring MVC开发环境

    环境版本 IDE:MyEclipse 8.5 Spring:spring 3.2.8 JDK:1.6 1.打开MyEclipse-->File-->New-->Web Project ...

  9. 5、XML(1)

    1 XML入门 1.1 引入 HTML: 负责网页的结构 CSS: 负责网页的样式(美观) Javascript: 负责在浏览器端与用户进行交互. 负责静态的网页制作的语言 HTML语言特点: 1)由 ...

  10. C#: 获取执行程序所在路径和启动资源管理器

    一. 获取执行程序所在路径 1.获取和设置当前目录的完全限定路径. string str = System.Environment.CurrentDirectory;  //获取的是主程序目录,线程启 ...