J'ai des tables dont les noms commencent par "TBL_ *", mais je ne peux pas drop tous par une seule commande.
comment puis-je supprimer ces tables?
Vous pouvez écrire un script, en particulier une boucle, dans lequel vous sélectionnez Table_name dans user_tables et itérez cette boucle, et utilisez la commande "execute immediate" pour les supprimer.
Mais je suggère ceci - dans l'outil sql faire
select 'drop table ' || table_name || ';' from user_tables where table_name like 'TBL_%'
Ensuite, vous copiez la sortie de cette requête et la collez dans votre éditeur SQL, puis vous l'exécutez. N'oubliez pas que si sql + est votre éditeur, si vous les collez tous, ils commenceront à s'exécuter. Vous souhaitez peut-être utiliser le bloc-notes pour le consulter et le modifier en premier.
Mais vous ne pouvez pas simplement supprimer plus d'une table en une seule commande. Vérifiez ce lien pour d'autres options associées à la table de dépôt http://docs.Oracle.com/cd/B19306_01/server.102/b14200/statements_9003.htm
BEGIN
--Bye Tables!
FOR i IN (SELECT ut.table_name
FROM USER_TABLES ut) LOOP
EXECUTE IMMEDIATE 'drop table '|| i.table_name ||' CASCADE CONSTRAINTS ';
END LOOP;
END;