zoukankan      html  css  js  c++  java
  • T-SQL判断是否存在表、临时表

    利用SQL SERVER的系统函数 object_id() 可以判断是否存在表、临时表,

    object_id() 的作用是返回架构范围内对象的数据库对象标识。(即返回系统视图  sys.objects 的 object_id 字段值)

    语法:

    OBJECT_ID ( '[ database_name . [ schema_name ] . | schema_name . ] 
        object_name' [ ,'object_type' ] )

     返回值是 int 类型,如果对象不存在则返回 null 。

    判断是否存在表

    if object_id(N'dbo.Info_City',N'U') is not null
        print '存在表'
    else
        print '不存在表'

     

    判断是否存在临时表

    if object_id(N'tempdb.dbo.#TEMP2',N'U') is not null
        print '存在#TEMP2'
    else
        print '不存在#TEMP2'

    注意:判断临时表需要指定临时数据库 tempdb 

    判断其他架构范围内的对象

    因为函数object_id() 返回的是架构范围内对象的数据库对象标识,意味着例如表、视图、约束、存储过程等其他架构范围内对象也可以通过上述方法判断其存在性。

    例如,判断存储过程仅需稍稍修改对象名和对象类型即可:

    if object_id(N'dbo.P_Base_GetServerInfo',N'P') is not null
        print '存在存储过程'
    ELSE
        print '不存在存储过程'

    注:存储过程的 object_type 为 P,其他的架构范围内对象以及对应的 object_type 字段值可以从我上一篇查找到。

  • 相关阅读:
    【HTML】html站标设置、网页小图标
    【idea】2020完整安装过程
    pptp,l2tp获取登录用户信息用pppd参数即可
    Postfix+Dovecot+MySQL搭建邮件服务器(续)
    Postfix+Dovecot+MySQL搭建邮件服务器
    zimage 和bzimage 有什么区别
    Linux编译内核
    8种nosql数据库对比
    core dump
    ulimit -c unlimited
  • 原文地址:https://www.cnblogs.com/xurongjian/p/10299915.html
Copyright © 2011-2022 走看看