码迷,mamicode.com
首页 > 数据库 > 详细

sql server判断表存在

时间:2019-11-01 09:38:19      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:自己   保存   font   strong   nbsp   ccf   HERE   更改   weight   

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

在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判断表存在

标签:自己   保存   font   strong   nbsp   ccf   HERE   更改   weight   

原文地址:https://www.cnblogs.com/yanggb/p/11328311.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!