Mogelijk moet u de zoekopdracht wijzigen om de eigenaar op te nemen als er meer dan één in de database is.
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
Dit is schoner dan het gebruik van een tweestapsbenadering van script genereren plus uitvoeren. Maar een voordeel van het genereren van scripts is dat het u de kans geeft om het geheel te bekijken van wat er gaat worden uitgevoerd voordat het daadwerkelijk wordt uitgevoerd.
Ik weet dat als ik dit zou doen tegen een productiedatabase, ik zo voorzichtig mogelijk zou zijn.
Bewerken Codevoorbeeld opgelost.