본문 바로가기
Infra & Security Eng/Database Engineering

SQL 테이블 지우고 명령어로 확인하는 프로세스

by 엔지니어 E 2026. 2. 11.
반응형

SQL 에 있는 테이블 지우기

BEGIN
    FOR c IN (SELECT table_name FROM user_tables) LOOP
        EXECUTE IMMEDIATE 'DROP TABLE "' || c.table_name || '" CASCADE CONSTRAINTS';
    END LOOP;
END;
/
PURGE RECYCLEBIN;

BEGIN
    FOR c IN (SELECT table_name FROM user_tables) LOOP -- 현재 계정의 모든 테이블 이름을 하나씩 꺼내옴
        EXECUTE IMMEDIATE 'DROP TABLE "' || c.table_name || '" CASCADE CONSTRAINTS'; -- 테이블을 삭제하되, 연결된 제약조건(FK 등)도 강제로 함께 삭제
    END LOOP; -- 모든 테이블을 다 돌 때까지 반복
END;
/
PURGE RECYCLEBIN; -- 삭제된 테이블들이 저장된 휴지통을 즉시 비워 메모리 정리

 

명령어로 전체 테이블 지워진 것 확인하기

① 남은 테이블 목록 조회 (가장 확실한 방법)
현재 계정에 테이블이 하나라도 남아있는지 리스트를 뽑아본다
SQL
SELECT * FROM tab;
-- 또는
SELECT table_name FROM user_tables;

② 남은 테이블 개수 확인
숫자로 깔끔하게 확인하고 싶을 때 사용합니다. 결과가 0이 나와야 한다
SQL
SELECT count(*) FROM user_tables;

③ 휴지통 비워졌는지 확인
PURGE RECYCLEBIN이 잘 작동했는지 확인합니다. 결과가 없어야 정상이다

SQL
SELECT * FROM recyclebin;

 

스크립트 불러 올때 

@table 파일 -> @constraints 파일 순서로 불러 올 것