여러개의 테이블을 한꺼번에 삭제하고 싶은데 like 조건절을 쓸 수가 없다.
뭐 결국 테이블 하나하나를 각각 삭제해줘야 한다는 건데....그렇다고 테이블이 수 십개가 넘는데 이걸 다 손으로 타이핑하기란 짜증하는 일이 아닐 수 없다.
이럴 때 다음 쿼리로 특정 사용자의 전체 테이블을 삭제 할 수 있는 쿼리를 얻어올 수 있다.
SELECT 'DROP TABLE ' || TABLE_NAME || ';' FROM ALL_TABLES WHERE OWNER = 'user1';
조건절은 마음대로 바꿀 수 있고 위에서 사용한 ALL_TABLES는 DBA권한이 있어야 접근이 가능하다.
따라서 일반 사용자이면서 자신이 소유한 테이블을 삭제할 때는
ALL_TABLES 대신 USER_TABLES 에서 조회한 테이블명을 사용하면 된다.
SELECT 'DROP TABLE ' || TABLE_NAME || ';' FROM USER_TABLES WHERE OWNER = 'user2';
오라클 테이블 전체 한번에 삭제하기 프로시져 (0) | 2015.06.10 |
---|---|
[Oracle/오라클] 제약사항 확인하기 ( Listing Constraints ) (0) | 2015.06.01 |
[오라클/oracle] 오라클에서 테이블 삭제 및 복구하기 (0) | 2015.05.04 |
[Oracle/SQL] instr, substr 을 이용해서 스트링 잘라내기 (0) | 2015.04.20 |
[오라클/oracle] character set 변경 ( Changing Character Set ) (0) | 2015.04.20 |