Удалить данные из базы данных старше двух лет - PullRequest
1 голос
/ 10 апреля 2011

Как я могу удалить данные из базы данных (все таблицы) старше двух лет?Я использую SQL Server 2000. Пожалуйста, сообщите.Я не уверен насчет внешних ограничений.

Ответы [ 2 ]

3 голосов
/ 10 апреля 2011

Вам придется удалять записи в определенном порядке, если есть ограничения внешнего ключа.Вы должны удалить «много» записей, которые ссылаются на «один», прежде чем вы сможете удалить «один».

Это будет многоэтапный процесс:

  1. Найти всепервичные ключи в таблице «one», использующие временную метку (обязательно), которая старше даты отсечения
  2. Удалите все записи из таблицы «many», значения столбца внешнего ключа которых находятся в наборе первичных ключей изшаг 1;повторите для всех «многих» таблиц, которые указывают на эту «одну» таблицу
  3. Удалите все записи, найденные на шаге 1, из таблицы «one».
  4. Повторите для всех «один» таблиц сметки времени.
0 голосов
/ 10 апреля 2011

Вам нужна временная метка, на основе которой вы можете удалять записи.Затем вы можете использовать запланированные задачи для запуска запросов, которые удаляют старые данные.

...