Wednesday, September 14, 2011

Dropping all DB tables, views, indexes, sequences in one query.

Most of the time one faces the issues like one need to delete all the tables, views, indexes or sequences in the database.
So following the query which generates DROP statements for all the components present in the Oracle database:

SELECT 'DROP TABLE ' || table_name || ';' AS statement FROM user_tables
Union
SELECT 'DROP VIEW ' || view_name || ';' AS statement from user_views
Union
SELECT 'DROP INDEX ' || index_name || ';' AS statement from user_indexes
Union
SELECT 'DROP SEQUENCE ' || sequence_name || ';' AS statement from user_sequences
Union
SELECT 'DROP SYNONYM ' || SYNONYM_name || ';' AS statement from user_SYNONYMs;

Cheers :)