【转自 MSDN : http://msdn.microsoft.com/zh-cn/library/ms190328.aspx
】
返回架构范围内对象的数据库对象标识号。
重要提示:
使用 OBJECT_ID 不能查询非架构范围内的对象(如 DDL 触发器)。对于在 sys.objects
目录视图中找不到的对象,需要通过查询适当的目录视图来获取该对象的标识号。例如,若要返回 DDL 触发器的对象标识号,请使用 SELECT OBJECT_ID FROM sys.triggers WHERE name = 'DatabaseTriggerLog
'
。
语法:
OBJECT_ID ( '[ database_name . [ schema_name ] . | schema_name . ]
object_name' [ ,'object_type' ] )
参数
'
object_name
'
要使用的对象。object_name
的数据类型为 varchar
或 nvarchar
。如果 object_name
的数据类型为 varchar
,则它将隐式转换为 nvarchar
。可以选择是否指定数据库和架构名称。
'
object_type
'
架构范围的对象类型。object_type
的数据类型为 varchar
或 nvarchar
。如果 object_type
的数据类型为 varchar
,则它将隐式转换为 nvarchar
。有关对象类型的列表,请参阅 sys.objects (Transact-SQL)
中的 type
列。
返回类型
int
注释
当该参数对系统函数可选时,则采用当前数据库、主机、服务器用户或数据库用户。内置函数后面必须跟括号。
当指定临时表名时,除非当前数据库为 tempdb,否则必须在该临时表名之前加上数据库名���。例如:SELECT OBJECT_ID('tempdb..#mytemptable')
。
系统函数可以在选择列表、WHERE 子句和任何允许使用表达式的地方使用。有关详细信息,请参阅表达式(Transact-SQL)
和 WHERE (Transact-SQL)
。
示例
A. 返回指定对象的对象 ID
(以下示例返回 AdventureWorks2008R2 数据库中 Production.WorkOrder
表的对象 ID。)
USE master;
GO
SELECT OBJECT_ID(N'AdventureWorks2008R2.Production.WorkOrder') AS 'Object ID';
GO
B. 验证对象是否存在
(以下示例通过验证表是否具有对象 ID 来检查指定表的存在性。如果该表存在,则将其删除。如果该表不存在,则不执行 DROP TABLE
语句。)
USE AdventureWorks2008R2;
GO
IF OBJECT_ID (N'dbo.AWBuildVersion', N'U') IS NOT NULL
DROP TABLE dbo.AWBuildVersion;
GO
C. 使用 OBJECT_ID 指定系统函数的参数值
(以下示例使用 sys.dm_db_index_operational_stats
函数返回 AdventureWorks2008R2 数据库中 Person.Address
表的所有索引和分区信息。)
重要提示:
在使用 Transact-SQL 函数 DB_ID 和 OBJECT_ID 返回参数值时,请始终确保返回有效的 ID。如果找不到数据库或对象的名称,例如相应名称不存在或拼写不正确,则两个函数都会返回 NULL。sys.dm_db_index_operational_stats
函数将 NULL 解释为指定所有数据库或所有对象的通配符值。由于这可能是无心之举,所以此部分中的示例说明了确定数据库 ID 和对象 ID 的安全方法。
DECLARE @db_id int;
DECLARE @object_id int;
SET @db_id = DB_ID(N'AdventureWorks2008R2');
SET @object_id = OBJECT_ID(N'AdventureWorks2008R2.Person.Address');
IF @db_id IS NULL
BEGIN;
PRINT N'Invalid database';
END;
ELSE IF @object_id IS NULL
BEGIN;
PRINT N'Invalid object';
END;
ELSE
BEGIN;
SELECT * FROM sys.dm_db_index_operational_stats(@db_id, @object_id, NULL, NULL);
END;
GO
分享到:
相关推荐
SQL Server数据库应用与开发:Transact-SQL语言基础知识点 ...在Transact-SQL语言中,架构是形成单个数据库对象的 collection,例如表、视图、存储过程和函数等。架构可以用来组织和管理数据库对象。
在数据库管理领域,SQL(Structured Query Language)是用于管理和处理关系型数据库的标准语言,而Transact-SQL(T-SQL)则是SQL的一个扩展,由Microsoft为它的SQL Server数据库管理系统所特有。本篇文章将深入探讨...
数据库应用技术:Transact-SQL程序设计 数据库应用技术的第10章主要介绍了Transact-SQL程序设计的基础知识,包括Transact-SQL语言基础、表达式、函数、流程控制语句和游标等内容。 Transact-SQL语言基础是数据库...
《Transact-SQL数据库编程》主要讲解了在SQL Server环境下使用Transact-SQL进行数据库编程的相关知识。Transact-SQL,通常简称为T-SQL,是SQL语言的一个扩展,尤其适用于微软的SQL Server数据库管理系统。它不仅包含...
Transact-SQL元编程是指在数据库编程中,利用Transact-SQL本身来动态生成Transact-SQL语句的过程。这种方法能够使我们编写一次脚本,而这个脚本可以被重复利用,适应不同的数据库结构变化,无需每次手动修改脚本。它...
标签强调了文档的中心主题——Sybase Transact-SQL的用户指南,这有助于快速定位到与Sybase数据库系统相关的资源和信息。 #### 部分内容解析: 尽管提供的部分内容似乎包含了一些乱码和未完成的代码片段,我们仍然...
Transact-SQL是微软公司开发的关系数据库管理系统SQL Server的查询语言。它继承了SQL语言的基本功能,并且添加了许多新的功能特性,提供了强大的数据库管理和应用开发能力。本手册详细介绍了Transact-SQL语言的基础...
**Transact-SQL**,简称T-SQL,是SQL Server所使用的一种数据库查询和编程语言,它是标准SQL的扩展,增加了许多特性和功能,使得它更适合于微软的数据库管理系统。这个压缩包`Transact-SQL.rar`包含了丰富的T-SQL...
Transact-SQL(T-SQL)是Microsoft SQL Server数据库管理系统中用于处理关系数据库的编程语言。它是SQL(Structured Query Language)的一个扩展,特别针对SQL Server进行了优化,提供了更丰富的功能和更强的程序...
Transact—SQL是结构化查询语言(SQL)的增强版本,与许多ANSI SQL标准兼容,Transact-SQL代码已成为SQL Server的核心。本书全面介绍了Transact—SQL,全书共21章,按照由浅入深的顺序,详细介绍了Transact-SQL...
《Transact-SQL权威指南》是一本深入探讨SQL在数据库管理中的应用的书籍,主要针对Transact-SQL,这是Microsoft SQL Server所使用的SQL方言。本书旨在帮助读者掌握T-SQL的高级技巧,优化性能,并利用其强大的功能...
《SQL Server 数据库》Transact-SQL程序设计实验报告主要关注了Transact-SQL语言的基础应用,涵盖了注释、变量、运算符、函数以及流程控制语句的使用。实验的目标是帮助学生掌握这些核心概念,并通过实际操作来提升...
《Transact-SQL参考》是针对SQL Server 2000数据库管理系统的一本详细指南,主要涵盖使用Transact-SQL进行数据库操作、查询、数据管理等核心内容。Transact-SQL是微软对标准SQL的扩展,是SQL Server的内置编程语言,...
1. **数据定义语言(DDL)**:Transact-SQL中的DDL允许用户创建、修改或删除数据库对象,如表、视图、索引等。这包括CREATE TABLE、ALTER TABLE、DROP TABLE等命令。 2. **数据操纵语言(DML)**:这部分涉及对...
Transact-SQL 对使用 Microsoft® SQL Server™ 非常重要。与 SQL Server 通讯的所有应用程序都通过向服务器发送 Transact-SQL 语句来进行通讯,而与应用程序的用户界面无关。 Transact-SQL 由多种应用程序生成,...
Beginning Transact-SQL with SQL Server 2000 and 2005 byPaul TurleyandDan Wood Wrox Press 2006 (594 pages) ISBN:076457955X Prepare for the ever-increasing demands of programming....
Transact-SQL是微软公司为其SQL Server数据库系统开发的一种结构化查询语言。它扩展了标准的SQL语言,增加了一些特殊的函数,用于执行数据库查询。在Transact-SQL中,函数分为多个类别,包括算术函数、字符串函数、...
《Transact-SQL权威指南》是一本专注于SQL Server数据库管理系统中的Transact-SQL语言的深度解析书籍。Transact-SQL是Microsoft SQL Server的核心查询语言,用于数据查询、更新、插入和删除,以及复杂的数据库编程...
--T-SQL语句用于管理SQL Server数据库引擎实例,创建和管理数据库对象, --以及查询、插入、修改和删除数据。 --Ø 变量 --1、局部变量(Local Variable) --局部变量是用户可以自定义的变量,它的作用范围是仅在...