У меня есть таблицы, названия которых начинаются с «TBL_ *», но я не могу удалить все из них по одной команде.Капля всех таблиц sql developer
Как я могу отказаться от этих таблиц?
У меня есть таблицы, названия которых начинаются с «TBL_ *», но я не могу удалить все из них по одной команде.Капля всех таблиц sql developer
Как я могу отказаться от этих таблиц?
Вы можете написать скрипт, в частности цикл, в котором вы выбираете Table_name из user_tables и повторяете этот цикл, и используйте команду «выполнить немедленную команду», чтобы удалить их.
Но я хотел бы предложить это - в SQL инструмент сделать
select 'drop table ' || table_name || ';' from user_tables where table_name like 'TBL_%'
Затем вы копируете вывод этого запроса и вставить в редактор SQL, и выполнить. Помните, что если sql + - ваш редактор, если вы вставляете их все, они запустится. Возможно, вы хотите использовать блокнот, чтобы сначала просмотреть и отредактировать его.
Но вы не можете просто отбросить несколько таблиц за одну команду. Проверить эту ссылку для других параметров, связанных с таблицей падения 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;
Я описал эту технику в моем оригинальном ответе> 3 года назад. И я указал, что иногда это может быть опасно при работе с данными. Http://stackoverflow.com/a/18030453/1704458 –
Это получает нижний предел, потому что пользователь * специально спросил * только для таблиц, начинающихся с «TBL_» - это удалить все! – theMayer