sql server判断表存在

Posted 彩虹の你

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql server判断表存在相关的知识,希望对你有一定的参考价值。

在创建表、更改表结构、删除表或对表进行什么操作之前,一个比较严谨的做法是先判断该表是否已经存在。

在SQL Server中判断一个表是否存在,有两个方法,下面以diso表为例。

方法1

if exists(select top 1 1 from sysObjects where id = object_id(Ndiso) and xtype = U)
    print 表diso存在
else 
    print 表diso不存在

原理是查询【sysObjects】这张系统表,该表保存了所有对象信息,既然是所有对象,自然包括表的信息,其中xtype为【U表示为用户表。

方法2

if object_id(Ndiso, NU) is not null
    print 表diso存在
else 
    print 表diso不存在

临时表

前面都是判断普通表,如果是判断临时表的话,则需要在临时表前加上【tempdb..】前缀,指明这是一个临时表。

if exists(select top 1 1 from sysObjects where id = object_id(Ntempdb..#diso) and xtype = U)
    print 表#diso存在
else 
    print 表#diso不存在
if object_id(Ntempdb..#diso, NU) is not null
    print 表diso存在
else 
    print 表diso不存在

临时表实际上还是一个表,只不过查询的时候和实体表还是有点区别。

 

"去走自己的路,赢要赢得理所当然,输也要输得清清楚楚。"

以上是关于sql server判断表存在的主要内容,如果未能解决你的问题,请参考以下文章

sql server判断表存在

Sql Server 判断表是否存在方法总结

Sql Server 判断表是否存在方法

sql SQL Server中判断表是否存在

SQL Server 判断表名称索引是否存在

SQL SERVER 新增表新增字段修改字段 判断表是否存在