Проверьте, существует ли таблица в SQL Server

Я хотел бы, чтобы это было окончательным обсуждением того, как проверить, существует ли таблица в SQL Server 2000/2005 с использованием операторов SQL.

Когда вы Google для ответа, вы получите так много разных ответов. Есть ли официальный / обратный и прямой совместимый способ сделать это?

Вот два возможных способа сделать это. Какой из двух является стандартным / лучшим способом сделать это?

Первый способ:

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%'; 

заявление. Я ищу что-то подобное.

Ответы на вопрос(22)

Ваш ответ на вопрос