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

Откуда: г.Новочеркасск, Ростовская обл.
Сообщений: 453
Есть таблицы в одной базе с определенным префиксом.

Как все эти таблицы удалить одним действием?

Таблиц более 150.
14 дек 16, 09:01    [20000539]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить 100 таблиц из базы?  [new]
ВячеславЛ
Member

Откуда: г.Новочеркасск, Ростовская обл.
Сообщений: 453
ВячеславЛ,

нашел в сети выбор таблиц:

SELECT * FROM sys.objects WHERE type in (N'U') and name like '%energo%'


Как теперь их всех дропнуть?
14 дек 16, 09:25    [20000626]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить 100 таблиц из базы?  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
ВячеславЛ,
Наложить фильтр и удалить в Object Explorer Detail. Либо написать скрипт.
select 'DROP TABLE '+quotename(schema_name(t.schema_id))+'.'+quotename(t.name) +'
GO
'
from sys.tables t
where name like '%er'
14 дек 16, 09:27    [20000636]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить 100 таблиц из базы?  [new]
o-o
Guest
Можно собрать запросом for xml path все нужные имена таблиц через зпт, этому всему дописать drop table и выполнить в exec.
Но это все катит только если нет FK, иначе надо учитывать порядок ссылающихся
14 дек 16, 09:31    [20000658]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить 100 таблиц из базы?  [new]
ВячеславЛ
Member

Откуда: г.Новочеркасск, Ростовская обл.
Сообщений: 453
gds,

Спасибо, то что нужно.
14 дек 16, 09:38    [20000694]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить