Може да се наложи да модифицирате заявката, за да включите собственика, ако има повече от един в базата данни.
DECLARE @cmd varchar(4000)
DECLARE cmds CURSOR FOR
SELECT 'drop table [' + Table_Name + ']'
FROM INFORMATION_SCHEMA.TABLES
WHERE Table_Name LIKE 'prefix%'
OPEN cmds
WHILE 1 = 1
BEGIN
FETCH cmds INTO @cmd
IF @@fetch_status != 0 BREAK
EXEC(@cmd)
END
CLOSE cmds;
DEALLOCATE cmds
Това е по-чисто от използването на подход в две стъпки на генериране на скрипт плюс изпълнение. Но едно от предимствата на генерирането на скриптове е, че ви дава възможност да прегледате цялото това, което ще се изпълнява, преди действително да се изпълни.
Знам, че ако щях да направя това срещу производствена база данни, щях да бъда възможно най-внимателен.
Редактиране Извадка от код е фиксирана.