Рекомендации по полному удалению записей из базы данных - PullRequest
0 голосов
/ 27 июня 2019

Я ищу несколько советов о том, как лучше всего удалить несколько записей (приблизительно более 3000) из базы данных. Мне было поручено удалить старые записи из нашей базы данных по причинам GDPR.

Однако, это база данных, о которой у меня мало знаний, и нет документации, ERD и т. Д. О том, как таблицы объединяются.

Мне удалось обработать таблицы, для которых необходимо удалить записи, чтобы полностью удалить детали из базы данных, существует около 24 таблиц, из которых необходимо удалить записи.

У меня есть список номеров ID, которые необходимо удалить, поэтому я подумал о создании временной таблицы со списком ID, а затем о создании хранимой процедуры для циклического перебора временных таблиц. Затем для каждой из 24 таблиц проверьте, содержит ли она записи, связанные с идентификационным номером, а затем удалите их.

Кто-нибудь знает, есть ли лучший способ удалить эти записи?

1 Ответ

1 голос
/ 27 июня 2019

Я бы использовал табличную переменную и объединил бы все:

declare @ids table (id int primary key)

insert into @ids (id) 
select 1 union all
select 2 union all
...
select 3000

delete from table_name where id in
(select id from @ids)

Очевидно, просто измените числа на фактические идентификаторы

...