我是靠谱客的博主 听话万宝路,最近开发中收集的这篇文章主要介绍CREATE SYNONYM (Transact-SQL),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

CREATE SYNONYM (Transact-SQL)

创建新的同义词。

Transact-SQL 语法约定

语法

CREATE SYNONYM [ schema_name_1. ] synonym_name FOR < object >

< object > :: =
{
[ server_name.[ database_name ] . [ schema_name_2 ].| database_name . [ schema_name_2 ].| schema_name_2. ] object_name
} 参数
schema_name_1
指定创建同义词所使用的架构。如果未指定 schema,SQL Server 将使用当前用户的默认架构。

synonym_name
新同义词的名称。

server_name
基对象所在服务器的名称。

database_name
基对象所在数据库的名称。如果未指定 database_name,则使用当前数据库的名称。

schema_name_2
基对象的架构的名称。如果未指定 schema_name,则使用当前用户的默认架构。

object_name
同义词被引用基对象的名称。

备注
创建同义词时不需要基对象存在。SQL Server 将在运行时检查基对象是否存在。

可以为下列对象类型创建同义词:

程序集 (CLR) 存储过程
程序集 (CLR) 表值函数
程序集 (CLR) 标量函数
程序集聚合 (CLR) 聚合函数
复制筛选过程
扩展存储过程
SQL 标量函数
SQL 表值函数
SQL 内联表值函数
SQL 存储过程
视图
表1(用户定义)


1 包括本地和全局临时表

不支持使用函数基对象的四部分名称。

在动态 SQL 中可以创建、删除和引用同义词。

权限
若要在给定架构中创建同义词,则用户必须具有 CREATE SYNONYM 权限,并拥有架构或具有 ALTER SCHEMA 权限。

CREATE SYNONYM 权限是可授予的权限。

注意:
不需要基对象的权限便可成功编译 CREATE SYNONYM 语句,因为基对象的所有权限检查被延迟到运行时进行。



为本地对象创建同义词。
以下示例首先为 AdventureWorks 数据库中的基对象 Product 创建同义词,然后查询该同义词。

复制代码
USE tempdb;
GO
-- Create a synonym for the Product table in AdventureWorks.
CREATE SYNONYM MyProduct
FOR AdventureWorks.Production.Product;
GO

-- Query the Product table by using the synonym.
USE tempdb;
GO
SELECT ProductID, Name
FROM MyProduct
WHERE ProductID < 5;
GO下面是结果集:

复制代码
-----------------------
ProductID Name
----------- --------------------------
1 Adjustable Race
2 Bearing Ball
3 BB Ball Bearing
4 Headset Ball Bearings
(4 row(s) affected) B. 为远程对象创建同义词
在以下示例中,基对象 Contact 驻留在名为 Server_Remote 的远程服务器上。

复制代码
EXEC sp_addlinkedserver Server_Remote;
GO
USE tempdb;
GO
CREATE SYNONYM MyEmployee FOR Server_Remote.AdventureWorks.HumanResources.Employee;
GO

最后

以上就是听话万宝路为你收集整理的CREATE SYNONYM (Transact-SQL)的全部内容,希望文章能够帮你解决CREATE SYNONYM (Transact-SQL)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部