接上文:探索SQL Server 2008中的T-SQL元数据函数(上) 另一组类似的元数据函数是“OBJECT_ID”和“OBJECT_NAME”。第一个函数返回模式范围内的任何对象,比如表或者视图。第二个函数返回模式范围内指定ID的任何对象名称。 “OBJECT_ID”函数接收一个参数:对象名称。
如果你没有指定完整修饰的名称,那么该对象被认为是属于当前活动的数据库。如果你想提取另一个数据库中对象的ID,你必须增加数据库名称以使该名称完整。“OBJECT_NAME”函数可以接收一个或者两个参数。第一个参数就是你想提取的对象名称对应的ID。
第二个可选参……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号

TechTarget
官方微博

TechTarget中国
接上文:探索SQL Server 2008中的T-SQL元数据函数(上)
另一组类似的元数据函数是“OBJECT_ID”和“OBJECT_NAME”。第一个函数返回模式范围内的任何对象,比如表或者视图。第二个函数返回模式范围内指定ID的任何对象名称。
“OBJECT_ID”函数接收一个参数:对象名称。如果你没有指定完整修饰的名称,那么该对象被认为是属于当前活动的数据库。如果你想提取另一个数据库中对象的ID,你必须增加数据库名称以使该名称完整。“OBJECT_NAME”函数可以接收一个或者两个参数。第一个参数就是你想提取的对象名称对应的ID。第二个可选参数是包含该对象的数据库ID。如果你想获取非当前数据库对象名称,你应该指定数据库ID。
下面的SELECT语句展示了如何使用“OBJECT_ID”函数和“OBJECT_NAME”函数:
SELECT OBJECT_ID('Sales.SalesPerson') AS Id_DefaultDb, OBJECT_ID('AdventureWorksDW2008.dbo.FactInternetSales') AS Id_SpecificDb, OBJECT_NAME(1298103665) AS Name_DefaultDb, OBJECT_NAME(309576141, 10) AS Name_SpecificDb; |
在“ OBJECT_ID”的第一个例子中,我指定了当前活动数据库(“AdventureWorks2008”数据库)中模式范围内对象的名称(“Sales.SalesPerson”表)。在该函数的第二个例子中我指定了一个全修饰的名称:“AdventureWorksDW2008”数据库中的“dbo.FactInternetSales”表。
我在“OBJECT_NAME”函数的第一个例子中用到的参数是“AdventureWorks2008 ”数据库中“SalesPerson”表的ID。在该函数的第二个例子中我首先指定了“SalesPerson ”表的ID,然后是“AdventureWorksDW2008 ”数据库的ID。该SELECT语句返回结果如下:
Id_DefaultDb | Id_SpecificDb | Name_DefaultDb | Name_SpecificDb |
1298103665 | 309576141 | SalesPerson | FactInternetSales |
你可以看到,这些函数返回指定对象的名称和ID,但是你可以容易地把这些ID和名称与其他类型对象连接。要得到SQL Server 2008中提供的模式范围内的对象清单,请查看SQL Server联机丛书“sys.objects (Transact-SQL)”主题。
另一组可以用来查找对象名称和它们ID的函数是“TYPE_ID”和“ TYPE_NAME”。你可以用这些函数查找ID和指定数据类型的名称。“TYPE_ID”函数接收数据类型名称作为它的参数,而“ TYPE_NAME”函数接收类型ID作为参数。例如,下面的SELECT语句返回nvarchar数据类型ID,并返回ID是231的数据类型名称。
SELECT TYPE_ID('nvarchar') AS TypeId, TYPE_NAME(231) AS TypeName; |
该SELECT语句返回如下结果:
TypeId | TypeName |
231 | nvarchar |
正如你所预料的,结果确认了nvarchar数据类型的ID是231。
翻译
TechTarget特邀编辑。2003年入软件行业,熟悉软件过程所有环节,对机构信息化的各方面有深入理解和实践经验。现就职于某互联网创业公司,目前关注互联网分布式系统架构和机器学习。喜欢传统文化社科哲学(尤喜《周易》、《老子》),喜健身喜抓举(具备抱人引体向上的能力),喜欢中国象棋(具备盲棋1对2的能力)。
相关推荐
-
数据库和数据仓库的区别在哪儿?
目前,大部分数据仓库还是用数据库进行管理。数据库是整个数据仓库环境的核心,是数据存放的地方和提供对数据检索的支持。
-
如何使用服务来平衡Oracle RAC 数据库工作负载
为不同的应用程序配置不同的服务,DBA可以更有效地平衡集群工作负载,在Oracle RAC数据库环境下实现更好的应用程序性能。
-
SQL Server 2016新变化:内存中OLTP功能大改进
SQL Server 2016的许多功能得到改进,内存中OLTP(in-memory OLTP)也不例外,包括扩展性、性能以及扩展T-SQL用于使用和管理内存优化表的功能方面。
-
CouchDB使用体验
不要在大数据上尝试CouchDB,不要在需要频繁查询的地方使用CouchDB,不要在需要大量汇总、分析数据的地方使用CouchDB。