从SQL Server 2005数据库中删除所有行

时间:2012-05-31 09:49:12

标签: sql-server-2005

我想删除SQL Server 2005数据库中的所有行。

任何人都可以轻松定义从数据库中删除所有行的过程吗?

3 个答案:

答案 0 :(得分:1)

在这种情况下,这将有效:

EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'
GO
EXEC sp_MSForEachTable 'DELETE FROM ?'
GO
EXEC sp_MSForEachTable 'ALTER TABLE ? CHECK CONSTRAINT ALL'
GO

感谢所有人。

答案 1 :(得分:1)

使用此命令:

    --Disable Constraints & Triggers
    EXEC sp_MSforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'
    EXEC sp_MSforeachtable 'ALTER TABLE ? DISABLE TRIGGER ALL'
    --Perform delete operation on all table for cleanup
    EXEC sp_MSforeachtable 'DELETE ?'
    --Enable Constraints & Triggers again
    EXEC sp_MSforeachtable 'ALTER TABLE ? CHECK CONSTRAINT ALL'
    EXEC sp_MSforeachtable 'ALTER TABLE ? ENABLE TRIGGER ALL'
    --Reset Identity on tables with identity column
    EXEC sp_MSforeachtable 'IF OBJECTPROPERTY(OBJECT_ID(''?''), ''TableHasIdentity'') = 1
    BEGIN DBCC CHECKIDENT (''?'',RESEED,0) END'

答案 2 :(得分:0)