Kako z eno poizvedbo SQL opustiti vse tabele iz zbirke podatkov?
Ne želim vnesti vseh tabel, da bi jih spustil. Ali je to mogoče z eno poizvedbo?
148
3
Ne želim vnesti vseh tabel, da bi jih spustil. Ali je to mogoče z eno poizvedbo?
Uporabite pogled INFORMATION_SCHEMA.TABLES za pridobitev seznama tabel. V ukazu select ustvarite skripte Drop in jih spustite z uporabo dinamičnega SQL:
Sys.Tables Različica
Pomnilo: Če imate med tabelami opredeljene tuje ključe, najprej izvedite spodnjo poizvedbo, da izključite vse tuje ključe, ki so prisotni v vaši zbirki podatkov.
Za več informacij poglejte tukaj.
Če ne želite tipkati, lahko izjave ustvarite s tem:
Nato ga kopirajte in prilepite v novo okno SSMS, da ga zaženete.
Samo malo bi spremenil odgovor @NoDisplayName in uporabil
QUOTENAME()
za stolpecTABLE_NAME
in vključil tudi stolpecTABLE_SCHEMA
, če tabele niso v shemidbo
.Ali z uporabo
sys
pogledov na sheme (kot je zapisano v komentarju @swasheck'a):