Подтвердить что ты не робот

Удалить все таблицы sql developer

У меня есть таблицы, имена которых начинаются с "TBL_ *", но я не могу удалить все из них по одной команде.

как я могу удалить эти таблицы?

4b9b3361

Ответ 1

Вы можете написать script, в частности, цикл, в котором вы выбираете Table_name из user_tables и повторяете этот цикл, и используйте команду "выполнить немедленную", чтобы удалить их.

Но я бы предложил это - в sql tool do

  select 'drop table ' || table_name || ';' from user_tables where table_name like 'TBL_%'

Затем вы копируете вывод этого запроса и вставляете его в свой редактор sql и выполняете. Помните, что если sql + - ваш редактор, если вы вставляете их все, они начнут выполнение. Возможно, вы хотите использовать блокнот, чтобы сначала просмотреть и отредактировать его.

Но вы не можете просто отбросить больше одной таблицы в одной команде. Проверьте эту ссылку для других параметров, связанных с таблицей drop http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_9003.htm

Ответ 2

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;