Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Jatuhkan semua tabel yang namanya dimulai dengan string tertentu

Anda mungkin perlu mengubah kueri untuk menyertakan pemilik jika ada lebih dari satu di database.

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

Ini lebih bersih daripada menggunakan pendekatan dua langkah untuk menghasilkan skrip plus menjalankan. Namun satu keuntungan dari pembuatan skrip adalah memberi Anda kesempatan untuk meninjau keseluruhan apa yang akan dijalankan sebelum benar-benar dijalankan.

Saya tahu bahwa jika saya akan melakukan ini terhadap database produksi, saya akan berhati-hati mungkin.

Sunting Contoh kode diperbaiki.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Fungsi SQL Server TRIM, LTRIM, dan RTRIM

  2. Kapan SQL Server Mengurutkan Mundur?

  3. Memasukkan data SQL Server ke Salesforce.com

  4. Cuplikan Basis Data SQL Server -4

  5. Klausa WHERE pada tipe data Teks SQL Server