Скрипт очистки таблиц, с определенными именами

Если вам нужно очистить таблицы с определенными именами или именами которые например начинаются на ACCESS, то следующий скрипт позволит это сделать быстро.

SET SERVEROUTPUT ON
DECLARE
-- Объявляем курсор
    CURSOR del_table1 IS SELECT TABLE_NAME FROM ALL_TABLES WHERE TABLE_NAME LIKE 'ACCESS_%' AND OWNER = 'HR_DBA';
    trun_table1 varchar2(250);
BEGIN
-- Открываем курсор
    OPEN del_table1;
LOOP
    FETCH del_table1 INTO trun_table1;
    -- Очищаем таблицы
    EXECUTE IMMEDIATE 'TRUNCATE TABLE HR_DBA.'||trun_table1;
    DBMS_OUTPUT.enable;
    DBMS_OUTPUT.put_line('TABLE: HR_DBA.'||trun_table1|| ' Очищена');
    EXIT WHEN del_table1%NOTFOUND;  
END LOOP;
-- Закрываем курсор
CLOSE del_table1;
END;

Оставьте комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.