SQL语句问题 如何查询出此表是否存在,如表名:tableName

不是判断此表是否有数据
2025-03-29 02:28:21
推荐回答(4个)
回答1:

SQL学习之查询技巧 查询表是否存在的两种方法
方法一 判断系统对象是否存在

DECLARE
@DbTableFileName VARCHAR(100)

SET @DbTableFileName = 'tx'

IF objectproperty(object_id(@DbTableFileName),'IsUserTable') IS NOT NULL
PRINT 'EXISTS '
ELSE
PRINT 'NOT EXISTS '

IF object_id(@DbTableFileName) IS NOT NULL
PRINT 'EXISTS '
ELSE
PRINT 'NOT EXISTS '

IF EXISTS (SELECT Object_id(@DbTableFileName))
PRINT 'EXISTS '
ELSE
PRINT 'NOT EXISTS '

方法二 通过查询系统表

DECLARE
@DbTableFileName VARCHAR(100)

SET @DbTableFileName = 'tx'

IF EXISTS (SELECT 1
FROM sysobjects
WHERE name = @DbTableFileName
AND TYPE = 'u')
PRINT 'EXISTS '
ELSE
PRINT 'NOT EXISTS '

方法一更安全,

回答2:

select * from sysobjects where name='表名'

回答3:

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tableName]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

回答4:

select * from user_table where table_name='tableName';
不存在就没结果