여러가지 이유로 테이블을 삭제할 상황이 있다.
Drop table로 하나하나 지우기에 너무 양이 많을때 테이블 전체를 한번에 삭제하는 방법이 있다.
그 방법을 아래에 소개하겠다.
먼저 sql에 접속한 후
SQL> Begin
2 for c in (select table_name from user_tables) loop
3 execute immediate ('drop table '||c.table_name||' cascade constraints');
4 end loop;
5 End;
6 . <- 쩜 찍어야 합니다.
엔터
이렇게 입력하면
SQL>
다시 이렇게 아무것도 안뜨는 명령어가 뜬다.
SQL> run
을 실행한다.
실행하면 아래 구문이 나올것이다.
1 Begin
2 for c in (select table_name from user_tables) loop
3 execute immediate ('drop table '||c.table_name||' cascade constraints');
4 end loop;
5 End;
PL/SQL procedure successfully completed.<--메시지가 나오면 성공
그 후에
SQL> purge recyclebin;
Recyclebin purged.<===휴지통이 비워졌다는 문구가 나온다.
그후 select * from tab;을 해보면 깨끗히 지워진 테이블을 볼 수 있을것이다.
출처 : http://munjee.tistory.com/16
[오라클/Oracle] 특정 사용자 소유의 테이블 별 사용량 확인 쿼리 (0) | 2016.06.11 |
---|---|
ORA-01157: cannot identify/lock data file (0) | 2015.06.10 |
[Oracle/오라클] 제약사항 확인하기 ( Listing Constraints ) (0) | 2015.06.01 |
[오라클/oracle] 테이블 여러개 한꺼번에 삭제하고 싶으면?? (0) | 2015.05.04 |
[오라클/oracle] 오라클에서 테이블 삭제 및 복구하기 (0) | 2015.05.04 |