我有一个巨大的数据库,其中有很多记录不良的约束。我需要编写一些SQL来清空这些表的子集中的数据,并且我不确定如何确定删除的顺序。显然,我需要在相应的PK表之前删除FK表,但正如我所说的,这些关系是错综复杂的,而且文档很少。
有没有工具可以让我确定delete语句的正确顺序?(我查看了Red Gate工具,非常惊讶地发现它们不支持SQL Server 2008R2,这就是我正在使用的。)
我们的数据库在SQL Server 2012上运行。我想清空一些不需要的数据,而不只是删除行。我不能清空表中的所有列,因为有些列定义了"not null“。因此,我不想在update语句中手动指定允许空值的所有列的名称,而是希望找到一种方法来自动过滤它,或者根据它是可空的还是错误输出来尝试/捕获。这样我就可以在任何给定表上重用它。有什么想法吗?我可以看到sys.columns有一个可以查询的is_nullable和is_computed列,我只是不知