I have tables that names start with "TBL_*", but I can not drop all of them by single command.
how can I drop this tables?
sql out of sql, a managed query to produce the script. To drop all the tables(only tables) of a user you can use the following query. select 'drop table '||table_name||' cascade constraints;' from user_tables; Spool the result of this query and execute it.
Select all of the tables in your database in the Schema Browser clicking on the first table, holding Shift, and clicking on the last table. Right-click on the selected tables and select “Drop (n) Tables…”
To delete a table: In SQL Developer, navigate to the PURCHASE_ORDERS table in the HR schema, following the instructions in "Viewing Tables". Right-click the PURCHASE_ORDERS table and select Table and then Drop. The Drop dialog box appears.
You can select all the available tables from the right sidebar, right click and choose Delete.. , or press Delete key to drop all.
You can write a script, specifically, loop, in which you select Table_name from user_tables and iterate this loop , and use "execute immediate" command to drop them.
But I would suggest this - in sql tool do
select 'drop table ' || table_name || ';' from user_tables where table_name like 'TBL_%'
Then you copy output of this query and paste into your sql editor, and execute. Remember, if sql+ is your editor, if you paste them all, they will start execute. May be you want to use notepad to review and edit it first.
But you can't just drop more than one table in one single command. Check this link for other options associated with drop table 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;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With