gpt4 book ai didi

sql - 清理数据库

转载 作者:行者123 更新时间:2023-12-04 13:53:55 25 4
gpt4 key购买 nike

我有一个包含数百个表的数据库。

我正在构建一个脚本来删除该数据库中的所有行。

当然,作为一个关系数据库,我必须先删除子项的行,然后才能触及父项。

有什么我可以使用的东西,还是我必须用困难的方式来做?

编辑

Accepted Answer 已修改为也包括 Disable Trigger

EXEC sp_MSForEachTable 'DISABLE TRIGGER ALL ON ? '
EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'
EXEC sp_MSForEachTable 'DELETE FROM ?'
EXEC sp_MSForEachTable 'ALTER TABLE ? CHECK CONSTRAINT ALL'
EXEC sp_MSForEachTable 'ENABLE TRIGGER ALL ON ? '

最佳答案

您可以禁用所有约束,然后删除所有数据,然后再次启用约束。您可以将代码放在存储过程中以供重用。快速而肮脏的东西:

CREATE PROCEDURE sp_EmplyAllTable
AS
EXEC sp_MSForEachTable ‘ALTER TABLE ? NOCHECK CONSTRAINT ALL’
EXEC sp_MSForEachTable ‘DELETE FROM ?’
EXEC sp_MSForEachTable ‘ALTER TABLE ? CHECK CONSTRAINT ALL’
GO

关于sql - 清理数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1295119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com