• 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 字段值可以从我上一篇查找到。

  • 相关阅读:
    查看进程的pid和ppid
    多进程《二》开启进程的两种方式
    多进程《一》进程理论
    并发编程《二》操作系统介绍2
    并发编程《一》操作系统介绍1
    Google浏览器历史版和下载地址
    python爬取淘宝排名
    字符编码
    hashlib
    离散数学
  • 原文地址:https://www.cnblogs.com/xurongjian/p/10299915.html
Copyright © 2020-2023  润新知