在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号
时间: 2024-12-20 01:09:23