有关从数据库中完全删除记录的建议

时间:2019-06-27 09:06:27

标签: sql sql-server-2014

我正在寻找有关从数据库中完全删除多个记录(超过3000条记录)的最佳方法的建议。由于GDPR原因,我被分配了从数据库中删除旧记录的工作。

但是,这是一个数据库,我对此并不了解,也没有有关如何将表连接在一起的文档,ERD等。

我设法弄清了需要删除记录以从数据库中完全删除详细信息的表,大约有24个需要删除记录的表。

我有一个ID号列表,需要删除这些ID号,所以我在考虑使用ID列表创建一个临时表,然后创建一个存储过程以遍历临时表。然后针对这24个表中的每一个,检查它是否包含与ID号相关的记录,然后将它们删除。

有人知道是否有删除这些记录的更好方法?

1 个答案:

答案 0 :(得分:1)

我将使用一个表变量并合并所有:

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)

很显然,只需将数字更改为实际ID