gpt4 book ai didi

sql-server - 检查SQL Server中是否存在表

转载 作者:行者123 更新时间:2023-12-01 16:14:09 25 4
gpt4 key购买 nike

我希望这是关于如何使用 SQL 语句检查 SQL Server 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%'; 

声明。我正在寻找类似的东西。

最佳答案

对于此类查询,最好使用 INFORMATION_SCHEMA View 。这些 View (大部分)是许多不同数据库的标准,并且很少随着版本的不同而改变。

要检查表是否存在,请使用:

IF (EXISTS (SELECT * 
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'TheSchema'
AND TABLE_NAME = 'TheTable'))
BEGIN
--Do Stuff
END

关于sql-server - 检查SQL Server中是否存在表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/167576/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com