sqlserver中判断表或临时表是否存在

Posted 纸上年华

tags:

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

1、判断数据表是否存在

  方法一:

use yourdb;
go

if object_id(N‘tablename‘,N‘U‘) is not null
print ‘存在‘
else 
print ‘不存在‘


例如:
use fireweb;
go

if object_id(N‘TEMP_TBL‘,N‘U‘) is not null
print ‘存在‘
else 
print ‘不存在‘

 

方法二:

USE [实例名] 
GO

IF EXISTS  (SELECT  * FROM dbo.SysObjects WHERE ID = object_id(N‘[表名]‘) AND OBJECTPROPERTY(ID, ‘IsTable‘) = 1) 
PRINT ‘存在‘ 
ELSE 
PRINT‘不存在‘


例如:
use fireweb;
go

IF EXISTS  (SELECT  * FROM dbo.SysObjects WHERE ID = object_id(N‘TEMP_TBL‘) AND OBJECTPROPERTY(ID, ‘IsTable‘) = 1) 
PRINT ‘存在‘ 
ELSE 
PRINT‘不存在‘

2、临时表是否存在:

方法一:
use fireweb;
go

if exists(select * from tempdb..sysobjects where id=object_id(‘tempdb..##TEMP_TBL‘))
PRINT ‘存在‘ 
ELSE 
PRINT‘不存在‘


方法二:
use fireweb;
go

if exists (select * from tempdb.dbo.sysobjects where id = object_id(N‘tempdb..#TEMP_TBL‘) and type=‘U‘)
PRINT ‘存在‘ 
ELSE 
PRINT‘不存在‘
































以上是关于sqlserver中判断表或临时表是否存在的主要内容,如果未能解决你的问题,请参考以下文章

SQLServer 中的存储过程中判断临时表是否存在,存在则删除临时表

sql判断临时表是不是存在

sql判断临时表是不是存在

SqlServer中如何判断一个表是不是已存在?

如何判断一个临时表是不是存在呢?

CTE、子查询、临时表或表变量之间是不是存在性能差异?