Bonjour,
J'aimerai savoir comment faire en drop de toutes les tables de ma base SAUF 2 tables, un truc du genre ...
DROP * WHERE table NOT IN ("toto1", "toto2");
mais bon ca ne marche pas evidement lol :)
merci
Version imprimable
Bonjour,
J'aimerai savoir comment faire en drop de toutes les tables de ma base SAUF 2 tables, un truc du genre ...
DROP * WHERE table NOT IN ("toto1", "toto2");
mais bon ca ne marche pas evidement lol :)
merci
Il faut faire un script, il n'y a pas de commande de ce genre en SQL. Par exemple en Oracle :
Ceci ne marchera que s'il n'y a pas de relations entre les tables, sinon il faut les supprimer dans le bon ordre ou alors commencer par supprimer toutes les contraintes.Code:
1
2
3
4
5
6
7
8
9
10
11
12 CREATE OR REPLACE PROCEDURE drop_tables is cursor listetables is SELECT TABLE_NAME FROM USER_TABLES WHERE TABLE_NAME NOT IN('TABLE1','TABLE2'); BEGIN for cur in listetables loop execute immediate 'drop table ' || cur.table_name; end loop; END;
Bloon