科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道细化解析:如何使用标识符作为对象名称

细化解析:如何使用标识符作为对象名称

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

一个对象的完整名称包括四个标识符:服务器名称、数据库名称、所有者名称和对象名称。

作者:赛迪网 limeinan 来源:天新网 2008年3月27日

关键字: Mssql SQL SQL Server 数据库

  • 评论
  • 分享微博
  • 分享邮件

一个对象的完整名称包括四个标识符:服务器名称、数据库名称、所有者名称和对象名称。其格式如下:

[ server. ] [ database ] .] [ owner_name ].] object_name

服务器、数据库和所有者的名称即所谓的对象名称限定符。当引用一个对象时,不需要指定服务器、数据库和所有者。可以利用句号标出它们的位置,从而省略限定符。对象名的有效格式是:

server.database.owner_name.object_name
server.database..object_name
server..owner_name.object_name
server...object_name

database.owner_name.object_name
database..object_name

owner_name.object_name

object_name

指定了所有四个部分的对象名称被称为完全合法名称。Microsoft® SQL Server™ 中所创建的每一个对象必须具有唯一的完全合法名称。例如,如果所有者不同,在同一个数据库中可以有两个名为 xyz 的表。

同一个表或视图中的列名必须唯一。假设 customer 数据库中的一个表和一个视图具有相同的名为 telephone的列。若要在 employees 表中引用 telephone 列,请指定 customer..employees.telephone;若要在 mktg_view 视图(市场部的视图)中引用 telephone 列,请指定 customer..mktg_view.telephone。

大多数对象引用使用三部分名称并默认使用本地服务器。四部分名称通常用于分布式查询或远程存储过程调用,其格式为:

linkedserver.catalog.schema.object_name

下表给出各部分的名称以及对它们的描述。

名称的各部分 描述 
linkedserver 包含分布式查询所引用对象的链接服务器名。 
catalog      包含分布式查询所引用对象的目录名。 
schema       包含分布式查询所引用对象的架构名。 
object_name  对象名或表名。

对于分布式查询,四部分名称的服务器部分是指链接服务器。链接服务器是指由 sp_addlinkedserver 所定义的服务器名称。链接服务器指定一个 OLE DB 提供程序和一个 OLE DB 数据源,数据源返回一个记录集,SQL Server 把它作为 Transact-SQL 语句的一部分来使用。

请查阅有关为链接服务器指定的 OLE DB 提供程序的文档,确定 OLE DB 数据源的哪些组件可以用于目录和架构部分的名称。如果链接服务器正在运行 SQL Server 实例,则目录名是包含对象的数据库,架构是对象的所有者。

对于远程过程调用,四部分名称中的服务器部分是指一个远程服务器。使用 sp_addserver 指定的远程服务器是通过本地服务器访问的 SQL Server 实例。利用以下格式的过程名执行远程服务器上的存储过程:

server.database.owner_name.procedure

注释:当使用远程存储过程时,要求对象名称包含所有四部分。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章