2017-01-20 2 views
1

Ich sah this Frage, wo es einen Befehl präsentiert, um alle Tabellen aus einer SQLite-Datenbank zu löschen. Ist es möglich, Ausnahmen hinzuzufügen, d. H. Alle Tabellen mit Ausnahme der Tabelle X Y und Z?Drop alle Tabellen mit Ausnahmen in sqlite

Dank

EDIT ich sah auch, dass es in SQL möglich ist. Ist dieses Skript in SQLite übersetzbar?

Antwort

2
PRAGMA writable_schema = 1; 
DELETE FROM sqlite_master WHERE type = 'table' AND name NOT IN ('X', 'Y', 'Z'); 
PRAGMA writable_schema = 0; 
VACUUM; 

Oder die DDL zu erhalten:

SELECT 'DROP TABLE ' || name || ';' FROM sqlite_master 
    WHERE type = 'table' AND name NOT IN ('X', 'Y', 'Z');