在SQL Server 2005中,要删除除指定表之外的所有表,可以使用以下步骤:
DECLARE @tables TABLE (table_name NVARCHAR(128))
INSERT INTO @tables
SELECT name
FROM sys.tables
DELETE FROM @tables
WHERE table_name = '保留的表名'
DECLARE @table_name NVARCHAR(128)
WHILE (SELECT COUNT(*) FROM @tables) > 0
BEGIN
SELECT TOP 1 @table_name = table_name FROM @tables
EXEC('DROP TABLE ' + @table_name)
DELETE FROM @tables
WHERE table_name = @table_name
END
这样,除了指定的表之外的所有表都将被删除。请注意,这个操作是不可逆的,所以在执行之前请确保已经备份了数据库。
领取专属 10元无门槛券
手把手带您无忧上云