Bạn có thể cần sửa đổi truy vấn để bao gồm chủ sở hữu nếu có nhiều hơn một trong cơ sở dữ liệu.
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
Điều này rõ ràng hơn so với việc sử dụng phương pháp tiếp cận hai bước là tạo tập lệnh cộng với chạy. Nhưng một lợi thế của việc tạo tập lệnh là nó cho bạn cơ hội để xem lại toàn bộ những gì sẽ được chạy trước khi nó thực sự chạy.
Tôi biết rằng nếu tôi định làm điều này với cơ sở dữ liệu sản xuất, tôi sẽ cẩn thận nhất có thể.
Chỉnh sửa Đã sửa mẫu mã.