Подскажите по поводу DROP TABLE.

mirsoft
Дата: 08.06.2011 11:05:22
Добрый день уважаемые участники форума. Возникла необходимость удалить из базы MS SQL2005 довольно большое количество таблиц. В интернете да и в учебнике по MS SQL2005 приведён пример как удалять только 1-ну таблицу с помощью DROP TABLE. Подскажите пожалуйста, как это можно сделать для нескольких таблиц или как в запросе написать условие, что бы например была выборка для удаления по дате или ещё по каким-либо возможным признакам? За ранее благодарен!
Гавриленко Сергей Алексеевич
Дата: 08.06.2011 11:15:00
Берете и пишите скрипт для удаления каждой ненужной таблицы командой drop table.
Или составляете его текст с помощью запроса.
mirsoft
Дата: 08.06.2011 11:24:53
Гавриленко Сергей Алексеевич
Берете и пишите скрипт для удаления каждой ненужной таблицы командой drop table.
Или составляете его текст с помощью запроса.


Так это и так в принципе понятно, а если таблиц так штук 500 и более их, что все перечислять в запросе что-ли? Дело в том что в БД таблицы создаются по определённому алгоритму то есть названия у них примерно одинаковые например 2007ТСxxy следующая 2007ТСxyy то есть таблица создается каждый новый месяц. Вот собственно я и прошу помощи в создании запроса по определённому алгоритму для удаления этих таблиц, если такое вообще возможно. :-)
Гадя Петрович
Дата: 08.06.2011 11:33:16
mirsoft,

select * from INFORMATION_SCHEMA.TABLES
дальше курсором или динамическим sql удаляете чо вам нужно
guest_guest
Дата: 08.06.2011 11:36:29
SELECT 'DROP TABLE ' + name FROM sys.sysobjects WHERE xtype = 'U' AND ....
iap
Дата: 08.06.2011 11:40:41