在SQL Server中,批量删除具有相同前缀的数据库表需要谨慎操作。可以使用类似以下命令来实现:
DECLARE @TableName NVARCHAR(100)
DECLARE @SQL NVARCHAR(MAX)
DECLARE cur CURSOR FOR
SELECT name FROM sys.tables WHERE name LIKE 'prefix%'
OPEN cur
FETCH NEXT FROM cur INTO @TableName
WHILE @@FETCH_STATUS = 0
BEGIN
SET @SQL = 'DROP TABLE ' + @TableName + '
EXEC sp_executesql @SQL
FETCH NEXT FROM cur INTO @TableName
END
CLOSE cur
DEALLOCATE cur