Transact-SQL OBJECT_ID语法

本文介绍了SQL Server中用于获取对象标识符的OBJECT_ID函数的语法及用法,包括如何返回指定对象的ID以及如何验证对象是否存在等示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

语法

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

返回类型:int

注意:对于空间索引,OBJECT_ID 返回 NULL。

出现错误时,返回 NULL。

用户只能查看其拥有的安全对象的元数据,或者已对其授予权限的安全对象的元数据。也就是说,如果用户对该对象没有任何权限,则那些会生成元数据的内置函数(如 OBJECT_ID)可能返回 NULL。

当该参数对系统函数可选时,则采用当前数据库、主机、服务器用户或数据库用户。内置函数后面必须跟括号。

当指定临时表名时,除非当前数据库为 tempdb,否则必须在该临时表名之前加上数据库名称。例如:SELECT OBJECT_ID('tempdb..#mytemptable')

系统函数可以在选择列表、WHERE 子句和任何允许使用表达式的地方使用。示例

A.返回指定对象的对象 ID

以下示例返回 AdventureWorks 数据库中 Production.WorkOrder 表的对象 ID。

USE master;
GO
SELECT OBJECT_ID(N'AdventureWorks2012.Production.WorkOrder') AS 'Object ID';
GO

B.验证对象是否存在

以下示例通过验证表是否具有对象 ID 来检查指定表的存在性。如果该表存在,则将其删除。如果该表不存在,则不执行 DROP TABLE 语句。

USE AdventureWorks2012;
GO
IF OBJECT_ID (N'dbo.AWBuildVersion', N'U') IS NOT NULL
DROP TABLE dbo.AWBuildVersion;
GO

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值