2010-09-27 8 views
0

У меня есть большая база данных, которая использовалась для архивирования таблиц перед реализацией структурных изменений на ней.Удалить таблицы по дате создания

У нас была эта база данных в течение многих лет, я хочу создать динамический скрипт для проверки сегодняшней даты и отбросить любую таблицу в этой базе данных, которая была создана 3 года и старше.

Благодаря

+0

Что СУБД вы используете? –

+2

Можете ли вы сообщить нам, что такое SQL Server и версия. MySQL, MSQL, Postgres? –

+0

Copyvio http://social.msdn.microsoft.com/Forums/en-US/transactsql/thread/d48d36de-0dff-4dc5-b52c-c56e4264056a - см. [Пользователь принимает вопросы с форумов MSDN, спрашивая их на SO , и отправку ответов SO на MSDN] (http://meta.stackexchange.com/questions/65954/a-user-is-taking-questions-from-msdn-forums-asking-them-on-so-and -posting-в-е). – Dori

ответ

1

Для MS SQL Ниже сценария может служить ваша цель

select 
    'drop table [' + s.name +'].[' + t.name +']' , t.create_date 
from 
    sys.tables t 
inner join 
    sys.schemas s 
    on 
    s.schema_id = t.schema_id 
where 
    create_date< DATEADD(year,-3, GETDATE()) 
    and type='U' 
+1

Если есть какие-либо ограничения внешнего ключа для любой из таблиц, их нужно будет удалить до того, как этот скрипт будет работать. В противном случае вам необходимо отбросить таблицы в правильном порядке, чтобы удовлетворить существующую ссылочную целостность. –

+0

точно! thnx для комментария :) – Thakur

Смежные вопросы