유저가 가지고 있는 테이블을 한번에 모두 삭제하는 query문은 없습니다. 


SQL> DROP tablename FROM USER;


그래서 귀찮더라도 위의 query 문을 일일히 실행해야 합니다. 

그렇지만 언제나 조금 더 편한 방법은 존재합니다. 


PL/SQL 문을 활용해서 모든 테이블을 삭제 하는 방법이 있고, 

SELECT 문으로 원하는 모든 query를 불러오고 이를 복사해서 그대로 실행하는 방법이 있습니다.

이 중에서 두번째 방법으로 삭제해보겠습니다. 


SQL> SELECT 'DROP TABLE "' || TABLE_NAME || '" CASCADE CONSTRAINTS;' FROM user_tables;


위의 query를 실행하면 현재 유저가 가지고 있는 모든 테이블의 DROP문을 받아올 수 있습니다.


DROP tablename1 FROM USER;

DROP tablename2 FROM USER;

DROP tablename3 FROM USER;

DROP tablename4 FROM USER;

DROP tablename5 FROM USER;


이제 복사해서 실행만 하면 되겠죠!

다음에는 PL/SQL을 통해 테이블을 삭제하는 방법도 알아보겠습니다



출처 : http://endorphin0710.tistory.com/33?category=753747

+ Recent posts