删除所有具有唯一记录的表中的所有记录

时间:2018-12-21 14:29:09

标签: sql-server

正在研究Microsoft SQL server

我的数据库有30个tables

某些表有一个名为LicenceID的列

我要强制删除具有LicenceID = 38的所有表中的所有记录 当我指的是强制删除时,即使有constraints

,我也想删除

请任何人可以帮助我 谢谢 迈克

2 个答案:

答案 0 :(得分:0)

第一步是确定表的依赖关系(如果依赖于另一个表或某些表与初始表具有依赖关系;在此基础上(并且如果由于某种原因您不能更改约束),请停用在时间上的限制(针对每个表):

ALTER TABLE <NAMETABLE> NOCHECK CONSTRAINT ALL

在每个依赖表中进行必要的删除,然后重新激活其约束(同样,对于每个表)

ALTER TABLE <NAMETABLE> CHECK CONSTRAINT ALL

首先使用ROLLBACK

PD:我认为也许有更好的解决方案,但我希望它会有所帮助

答案 1 :(得分:0)

您的约束之所以存在是有原因的。花时间,找出依赖项,并按正确的顺序进行删除,以免违反它们。