--禁用所有外键
DECLARE @disablefk AS nvarchar(max)
SET @disablefk = '';
SELECT @disablefk = @disablefk + 'ALTER TABLE [' + TABLE_NAME + '] NOCHECK CONSTRAINT [' + CONSTRAINT_NAME + '];'
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE CONSTRAINT_TYPE = 'FOREIGN KEY';
EXEC sp_executesql @disablefk
GO
--删除所有数据
DECLARE @del AS nvarchar(max)
SET @del = '';
SELECT @del = @del + 'DELETE FROM ' + TABLE_NAME + ';'
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
EXEC sp_executesql @del
GO
--启用所有外键
DECLARE @enablefk AS nvarchar(max)
SET @enablefk = '';
SELECT @enablefk = @enablefk + 'ALTER TABLE [' + TABLE_NAME + '] CHECK CONSTRAINT [' + CONSTRAINT_NAME + '];'
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE CONSTRAINT_TYPE = 'FOREIGN KEY';
EXEC sp_executesql @enablefk
GO