
利用同义词简化SQL Server 2005开发
发布时间:2006-07-25 12:21:02 来源:天极开发 网友评论 0 条
一. 引言
如果你曾经使用SQL Server开发过任何软件,那么你肯定会习惯于使用四部分标识符来参考一个对象:
正如上面的方括号所显示的,该语法的不同部分可以被忽略,只要你提供足够的表达来无二义地标识你的对象即可。例如,下面所有这些表达都可能参考相同的对象:
在大多数情况下,你可以仅使用三部分名字而忽略服务器名-除非你是在处理在一个连接的服务器上的对象。默认情况下,所有对象的上下文都是本地数据库-你的SQL语句在其中执行。但是,有些情况下,或者更为准确地说,你必须使用这整个四部分命名(或称作一种全称限定名)。但是,在SQL Server 2005中,这种情况有所改变。
二. 熟悉同义词
SQL Server 2005引入了一个同义词的概念,这是一个单部分的名字,它可以替换在许多SQL语句中的一个两、三或四部分的名字。使用同义词可以让你减少输入,而且还能提供一个抽象层来为你保护底层对象的改变。为了理解其工作原理,让我们先看一下创建同义词的语法。下面是CREATE SYNONYM语句的语法:
在此,object_name是一个SQL Server对象(全称限定已经足以能够标识出这个对象)的名字,而synonym_name是你想赋给它的新名字。如果你不想为同义词指定一种模式,那么SQL Server使用当前的用户的默认模式。当你创建同义词时,相应的对象不需要存在,因为同义词是迟绑定的:当你实际上使用同义词时,SQL Server仅仅检查基对象。
例如,在AdventureWorks示例数据库中,你可以以下列方式创建一个同义词:
之后,你可以继续使用在SQL语句中的同义词了。例如:
图1显示出相应的结果:

当你使用完一个同义词后,你可以使用DROP SYNONYM语句来去掉它,它具有你期望的语法格式:
如果你曾经使用SQL Server开发过任何软件,那么你肯定会习惯于使用四部分标识符来参考一个对象:
| [[[server.][database].][schema_name].]object_name |
正如上面的方括号所显示的,该语法的不同部分可以被忽略,只要你提供足够的表达来无二义地标识你的对象即可。例如,下面所有这些表达都可能参考相同的对象:
| Server1.AdventureWorks.Production.ProductCategory AdventureWorks.Production.ProductCategory AdventureWorks..ProductCategory ProductCategory |
在大多数情况下,你可以仅使用三部分名字而忽略服务器名-除非你是在处理在一个连接的服务器上的对象。默认情况下,所有对象的上下文都是本地数据库-你的SQL语句在其中执行。但是,有些情况下,或者更为准确地说,你必须使用这整个四部分命名(或称作一种全称限定名)。但是,在SQL Server 2005中,这种情况有所改变。
二. 熟悉同义词
SQL Server 2005引入了一个同义词的概念,这是一个单部分的名字,它可以替换在许多SQL语句中的一个两、三或四部分的名字。使用同义词可以让你减少输入,而且还能提供一个抽象层来为你保护底层对象的改变。为了理解其工作原理,让我们先看一下创建同义词的语法。下面是CREATE SYNONYM语句的语法:
| CREATE SYNONYM [schema_name.]synonym_name FOR object_name |
在此,object_name是一个SQL Server对象(全称限定已经足以能够标识出这个对象)的名字,而synonym_name是你想赋给它的新名字。如果你不想为同义词指定一种模式,那么SQL Server使用当前的用户的默认模式。当你创建同义词时,相应的对象不需要存在,因为同义词是迟绑定的:当你实际上使用同义词时,SQL Server仅仅检查基对象。
例如,在AdventureWorks示例数据库中,你可以以下列方式创建一个同义词:
| CREATE SYNONYM ProdCat FOR AdventureWorks.Production.ProductCategory |
之后,你可以继续使用在SQL语句中的同义词了。例如:
| SELECT * FROM ProdCat |
图1显示出相应的结果:

当你使用完一个同义词后,你可以使用DROP SYNONYM语句来去掉它,它具有你期望的语法格式:
| DROP SYNONYM [schema_name.]synonym_name |
相关文章
下一篇文章:SQL Server2005代码安全之权限
推荐阅讯
- SQL Server2005的XML数据类型之基础篇
- SQL Server 2005中的异常处理消息框可以直接
- 用SQL 2005的ROW_NUMBER() 实现分页功能
- 剖析SQL Server 2005查询通知之基础篇
- SQL Server连接失败错误分析与排除
- SQL Server 2005数据加密技术应用研究
- SQL Server 2000遇到的两个问题及其解决办法
- SQL SERVER 2005中的同步复制技术
- SQL Server 2000安装不成功的解决办法
- SQL Server 2005-如何在SQL Server用户自订
阅读排行
- 1.SQL Server 2000安装不成功的解决办法
- 2.SQL Server数据导入导出工具BCP详解
- 3.如何紧急恢复SQL Server主数据库
- 4.用SQL 2005的ROW_NUMBER() 实现分页功能
- 5.SQL Server2005的XML数据类型之基础篇
- 6.SQL SERVER 2005中的同步复制技术
- 7.SQL Server 2005-如何在SQL Server用户自订
- 8.拷贝的SQLServer7数据库的恢复方法
- 9.SQL Server 2000遇到的两个问题及其解决办法
- 10.SQL Server 2005数据加密技术应用研究
专题教程
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
- Picasa中文版_Picasa教程 专题:清除流氓软件
- Firefox专题 seo搜索引擎优化专区
- 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
