Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 существует ли таблица в БД?  [new]
lena5il
Member

Откуда:
Сообщений: 21
Привет всем!

Подскажите, каким образом можно узнать через запрос SQL, существует ли конкретная таблица в БД?

Спасибо
18 май 03, 13:00    [202001]     Ответить | Цитировать Сообщить модератору
 Re: существует ли таблица в БД?  [new]
Chester
Member

Откуда:
Сообщений: 3
select count(*) from sysobjects where xtype = 'u' and name = 'cl_agregation'

результат или 0 (таблицы нет) или 1 (в противном случае)
18 май 03, 13:26    [202007]     Ответить | Цитировать Сообщить модератору
 Re: существует ли таблица в БД?  [new]
NNN
Member

Откуда:
Сообщений: 2141
if exists(select * from sysobjects where name='table_name' and type='u')
select * from table_name
или что-то вроде, в BOL поищи описание sysobjects.
18 май 03, 13:27    [202009]     Ответить | Цитировать Сообщить модератору
 Re: существует ли таблица в БД?  [new]
jimmers
Member

Откуда: Санкт-Петербург - New York City
Сообщений: 5069
USE pubs


declare @table sysname
SET @table = 'authors'

-- Вариант первый, более гибкий.

if OBJECT_ID(@table) IS NOT NULL AND OBJECTPROPERTY(OBJECT_ID(@table), 'IsUserTable') = 1
PRINT 'User table exists'

-- Второй вариант, попроще

if EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = @table AND TABLE_TYPE = 'BASE TABLE')
PRINT 'User table exists'
18 май 03, 23:43    [202145]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить