• SQL SERVER 中的 object_id()函数


    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以上版本都支持这个函数。

     
  • 相关阅读:
    Socket
    利用Python自动生成暴力破解的字典
    【转】六年测试工作的思考1
    【转】手机测试入行三年的感想
    【转】移动测试人员的未来:测试开发技术的融合
    【转】一个互联网项目即将结束的软件测试经验总结
    【转】电子商务网站测试经验总结
    【转】六年软件测试感悟-从博彦到VMware
    使用PL/SQL删除百万条记录的大表
    【转】百万级数据查询优化
  • 原文地址:https://www.cnblogs.com/Strugglehard/p/10916178.html
Copyright © 2020-2023  润新知