SQL SERVER 中的 object_id()函数

在SQLServer数据库中,如果查询数据库中是否存在指定名称的索引或者外键约束等,经常会用到object_id('name','type')方法,做笔记如下:

语法:object_id('objectname')或object('objectname','type')

作用:该函数会返回指定对象的ID值,可以在sysobjects表中进行验证。

其中objectname数据类型为 char 或 nchar。如果 object 的数据类型是 char,那么隐性将其转换成 nchar。

type如下列表:

AF = Aggregate function (CLR)
C = CHECK constraint
D = DEFAULT (constraint or stand-alone)
F = FOREIGN KEY constraint
FN = SQL scalar function
FS = Assembly (CLR) scalar-function
FT = Assembly (CLR) table-valued function
IF = SQL inline table-valued function
IT = Internal table
P = SQL Stored Procedure
PC = Assembly (CLR) stored-procedure
PG = Plan guide
PK = PRIMARY KEY constraint
R = Rule (old-style, stand-alone)
RF = Replication-filter-procedure
S = System base table
SN = Synonym
SQ = Service queue
TA = Assembly (CLR) DML trigger
TF = SQL table-valued-function
TR = SQL DML trigger
U = Table (user-defined)
UQ = UNIQUE constraint
V = View
X = Extended stored procedure

?

例子如下:

select object_id('fk_xxx_xx','F')会取出约束名为fk_xxx_xx的ID值,如返回144444444这个值。

上面的语句等同:

select ID from sysobjects where name='fk_xxx_xx' and type='F'

======================================================================================= 

大家都知道在数据库中有一个系统表sysobjects,里面存储了数据库各个对象的信息。可以查询下看看结果。可以看出每个对象都有一个ID,这个表存储了表,存储过程,触发器,视图等相关信息。注意:字段没有。

  object_id就是根据对象名称返回该对象的id.
  object_name是根据对象id返回对象名称.
 

  select object_id(对象名)等同于:
  select id from sysobjects where name=对象名

  select object_name(id号)等同于:
  select name from sysobjects where id=id号

 SQL SERVER 2000以上版本都支持这个函数。

posted @   最萌小胡胡  阅读(150)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
点击右上角即可分享
微信分享提示