检查SQLServer中是否存在表我希望这是关于如何使用SQL语句检查SQLServer 2000/2005中是否存在表的最终讨论。当你在谷歌上搜索答案时,你会得到很多不同的答案。是否有一种正式/向后/向前兼容的做法?这里有两种可能的方法。这两种方法中哪一种是标准/最好的方法?第一条路:IF EXISTS (SELECT 1
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE='BASE TABLE'
AND TABLE_NAME='mytablename')
SELECT 1 AS res ELSE SELECT 0 AS res;第二条路:IF OBJECT_ID (N'mytablename', N'U') IS NOT NULL
SELECT 1 AS res ELSE SELECT 0 AS res;MySQL提供简单的SHOW TABLES LIKE '%tablename%';声明。我在找类似的东西。
3 回答
PIPIONE
TA贡献1829条经验 获得超9个赞
INFORMATION_SCHEMA
IF (EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'TheSchema' AND TABLE_NAME = 'TheTable'))BEGIN --Do StuffEND
哈士奇WWW
TA贡献1799条经验 获得超6个赞
if OBJECT_ID('tempdb..#test') is not null --- temp table exists
添加回答
举报
0/150
提交
取消