Pokud je v databázi více než jeden, možná budete muset upravit dotaz tak, aby zahrnoval vlastníka.
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
To je čistší než použití dvoukrokového přístupu generování skriptu plus spuštění. Jednou z výhod generování skriptů je však to, že vám dává možnost prohlédnout si celý obsah toho, co bude spuštěno, ještě předtím, než bude skutečně spuštěn.
Vím, že kdybych to chtěl udělat proti produkční databázi, byl bych tak opatrný, jak je to jen možné.
Upravit Ukázka kódu opravena.