Viac na
Ako odstrániť všetky tabuľky z databázy pomocou jedného dotazu SQL?
Nechcem zadávať všetky tabuľky' meno, aby som ich všetky vynechal. Je to možné pomocou jedného dotazu?
148
3
Na získanie zoznamu tabuliek použite zobrazenie INFORMATION_SCHEMA.TABLES. V príkaze select vygenerujte skripty Drop a vypustite ich pomocou dynamického SQL:
Sys.Tables Verzia
Poznámka: Ak máte medzi tabuľkami definované nejaké
zahraničné kľúče
, potom najprv spustite nasledujúci dotaz, aby ste vypli všetkyzahraničné kľúče
prítomné vo vašej databáze.Viac informácií nájdete skúmajte tu.
Ak sa vám nechce písať, môžete vytvoriť príkazy pomocou tejto funkcie:
Potom ho skopírujte a vložte do nového okna SSMS a spustite ho.
Ja by som len urobil malú zmenu v odpovedi @NoDisplayName'a použil
QUOTENAME()
na stĺpecTABLE_NAME
a zahrnul aj stĺpecTABLE_SCHEMA
v prípade, že tabuľky nie sú v schémedbo
.Alebo pomocou pohľadov na schému
sys
(podľa komentára @swasheck'a):