MSSQLSERVER 中的 object_id()函数

转载于:https://www.cnblogs.com/nimorl/p/4867422.html

作者:风雪江山

语法: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号

你可能感兴趣的:(数据库,MSSQL)