`
北极的。鱼
  • 浏览: 158971 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

【转】返回架构范围内对象的数据库对象标识号——OBJECT_ID (Transact-SQL)

阅读更多

【转自 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 的数据类型为 varcharnvarchar 。如果 object_name 的数据类型为 varchar ,则它将隐式转换为 nvarchar 。可以选择是否指定数据库和架构名称。

' object_type '

架构范围的对象类型。object_type 的数据类型为 varcharnvarchar 。如果 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数据库应用与开发:第04章 Transact-SQL语言基础.ppt

    SQL Server数据库应用与开发:Transact-SQL语言基础知识点 ...在Transact-SQL语言中,架构是形成单个数据库对象的 collection,例如表、视图、存储过程和函数等。架构可以用来组织和管理数据库对象。

    标准SQL和transact-sql之比较学习

    在数据库管理领域,SQL(Structured Query Language)是用于管理和处理关系型数据库的标准语言,而Transact-SQL(T-SQL)则是SQL的一个扩展,由Microsoft为它的SQL Server数据库管理系统所特有。本篇文章将深入探讨...

    数据库应用技术:第10章_Transact-SQL程序设计.ppt

    数据库应用技术:Transact-SQL程序设计 数据库应用技术的第10章主要介绍了Transact-SQL程序设计的基础知识,包括Transact-SQL语言基础、表达式、函数、流程控制语句和游标等内容。 Transact-SQL语言基础是数据库...

    Transact-SQL数据库编程.ppt

    《Transact-SQL数据库编程》主要讲解了在SQL Server环境下使用Transact-SQL进行数据库编程的相关知识。Transact-SQL,通常简称为T-SQL,是SQL语言的一个扩展,尤其适用于微软的SQL Server数据库管理系统。它不仅包含...

    Transact-SQL元编程——用T-SQL生成T-SQL.pdf

    Transact-SQL元编程是指在数据库编程中,利用Transact-SQL本身来动态生成Transact-SQL语句的过程。这种方法能够使我们编写一次脚本,而这个脚本可以被重复利用,适应不同的数据库结构变化,无需每次手动修改脚本。它...

    Transact-SQL用户指南Sybase

    标签强调了文档的中心主题——Sybase Transact-SQL的用户指南,这有助于快速定位到与Sybase数据库系统相关的资源和信息。 #### 部分内容解析: 尽管提供的部分内容似乎包含了一些乱码和未完成的代码片段,我们仍然...

    Transact-SQL手册

    Transact-SQL是微软公司开发的关系数据库管理系统SQL Server的查询语言。它继承了SQL语言的基本功能,并且添加了许多新的功能特性,提供了强大的数据库管理和应用开发能力。本手册详细介绍了Transact-SQL语言的基础...

    Transact-SQL.rar_Transact-SQL chm

    **Transact-SQL**,简称T-SQL,是SQL Server所使用的一种数据库查询和编程语言,它是标准SQL的扩展,增加了许多特性和功能,使得它更适合于微软的数据库管理系统。这个压缩包`Transact-SQL.rar`包含了丰富的T-SQL...

    数据库技术及应用——SQL Server课件 8Transact-SQL语言.ppt

    Transact-SQL(T-SQL)是Microsoft SQL Server数据库管理系统中用于处理关系数据库的编程语言。它是SQL(Structured Query Language)的一个扩展,特别针对SQL Server进行了优化,提供了更丰富的功能和更强的程序...

    《Transact-SQL 权威指南》电子版(第一部分)

    Transact—SQL是结构化查询语言(SQL)的增强版本,与许多ANSI SQL标准兼容,Transact-SQL代码已成为SQL Server的核心。本书全面介绍了Transact—SQL,全书共21章,按照由浅入深的顺序,详细介绍了Transact-SQL...

    Transact-SQL权威指南

    《Transact-SQL权威指南》是一本深入探讨SQL在数据库管理中的应用的书籍,主要针对Transact-SQL,这是Microsoft SQL Server所使用的SQL方言。本书旨在帮助读者掌握T-SQL的高级技巧,优化性能,并利用其强大的功能...

    《SQL Server 数据库》Transact-SQL程序设计实验报告.pdf

    《SQL Server 数据库》Transact-SQL程序设计实验报告主要关注了Transact-SQL语言的基础应用,涵盖了注释、变量、运算符、函数以及流程控制语句的使用。实验的目标是帮助学生掌握这些核心概念,并通过实际操作来提升...

    Transact-SQL参考(SQL Server 2000) 计算机专业电子书

    《Transact-SQL参考》是针对SQL Server 2000数据库管理系统的一本详细指南,主要涵盖使用Transact-SQL进行数据库操作、查询、数据管理等核心内容。Transact-SQL是微软对标准SQL的扩展,是SQL Server的内置编程语言,...

    Ken Henderson__The Guru's Guide to Transact-SQL

    1. **数据定义语言(DDL)**:Transact-SQL中的DDL允许用户创建、修改或删除数据库对象,如表、视图、索引等。这包括CREATE TABLE、ALTER TABLE、DROP TABLE等命令。 2. **数据操纵语言(DML)**:这部分涉及对...

    Transact-SQL 参考

    Transact-SQL 对使用 Microsoft® SQL Server™ 非常重要。与 SQL Server 通讯的所有应用程序都通过向服务器发送 Transact-SQL 语句来进行通讯,而与应用程序的用户界面无关。 Transact-SQL 由多种应用程序生成,...

    Beginning Transact-SQL with SQL Server 2000 and 2005 (4 of 5)

    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基本函数集

    Transact-SQL是微软公司为其SQL Server数据库系统开发的一种结构化查询语言。它扩展了标准的SQL语言,增加了一些特殊的函数,用于执行数据库查询。在Transact-SQL中,函数分为多个类别,包括算术函数、字符串函数、...

    transact-sql权威指南(pdf)

    《Transact-SQL权威指南》是一本专注于SQL Server数据库管理系统中的Transact-SQL语言的深度解析书籍。Transact-SQL是Microsoft SQL Server的核心查询语言,用于数据查询、更新、插入和删除,以及复杂的数据库编程...

    Transact-SQL 编程

    --T-SQL语句用于管理SQL Server数据库引擎实例,创建和管理数据库对象, --以及查询、插入、修改和删除数据。 --Ø 变量 --1、局部变量(Local Variable) --局部变量是用户可以自定义的变量,它的作用范围是仅在...

Global site tag (gtag.js) - Google Analytics