본문 바로가기
Database/Oracle

[ORACLE] DROP() 완벽 정리 : 테이블·뷰·사용자 삭제 실전 예제 포함

by Papa Martino V 2025. 6. 10.
728x90

오라클 DROP() 완벽 정리: 테이블·뷰·사용자 삭제 실전 예제 포함
[Oracle] DROP

 

 

Oracle Database에서 오브젝트를 삭제할 때 사용하는 DROP 명령어에 대해 자세히 설명합니다. 실무 중심의 예제를 통해 쉽게 이해하고 바로 활용할 수 있도록 구성했습니다.

1. DROP 문이란?

DROP은 오라클 데이터베이스에서 테이블, 뷰, 인덱스, 사용자, 시퀀스 등 오브젝트를 영구적으로 삭제할 때 사용하는 SQL 문입니다. 삭제된 오브젝트는 복구할 수 없으므로 주의가 필요합니다.

2. DROP TABLE 사용법

테이블을 완전히 삭제하는 기본 구문은 다음과 같습니다.

DROP TABLE employees;

만약 테이블에 외래 키 제약조건이 걸려 있다면 CASCADE 옵션을 사용해야 합니다.

DROP TABLE orders CASCADE CONSTRAINTS;

이 구문은 orders 테이블과 그에 연결된 제약조건도 함께 삭제합니다.

3. DROP INDEX 사용법

인덱스를 삭제할 때는 다음과 같이 작성합니다.

DROP INDEX idx_emp_name;

인덱스는 성능 개선을 위해 생성하지만, 사용하지 않거나 중복된 경우 삭제가 필요할 수 있습니다.

4. DROP VIEW 사용법

뷰(View)는 가상 테이블로, 삭제할 때는 다음과 같은 구문을 사용합니다.

DROP VIEW emp_view;

5. DROP SEQUENCE 사용법

시퀀스를 삭제하려면 다음과 같이 작성합니다.

DROP SEQUENCE emp_seq;

6. DROP USER 사용법

데이터베이스 사용자와 그 소유 오브젝트를 모두 삭제하려면 CASCADE 옵션을 사용해야 합니다.

DROP USER hr CASCADE;

주의: 해당 사용자가 소유한 모든 테이블, 뷰, 인덱스, 시퀀스 등이 함께 삭제됩니다.

7. DROP SYNONYM 사용법

시노님(Synonym)은 다른 오브젝트에 대한 별칭입니다. 삭제하려면 다음과 같이 작성합니다.

DROP SYNONYM emp_syn;

8. 실전 예제 시나리오

다음은 하나의 사용자로부터 전체 오브젝트를 삭제하고 새로운 구조를 설계할 경우의 예시입니다.

-- 기존 오브젝트 삭제
DROP VIEW sales_summary;
DROP INDEX idx_sales_date;
DROP TABLE sales;
DROP SEQUENCE sales_seq;
-- 사용자 삭제
DROP USER sales_admin CASCADE;

이후 CREATE 구문을 통해 새로운 구조를 설계하면 됩니다.

9. DROP 문 사용 시 주의사항

  • DROP은 복구가 불가능하므로 사전 백업 필수
  • CASCADE 옵션은 하위 오브젝트까지 삭제함으로 사용에 신중을 기해야 함
  • 대규모 테이블 삭제는 UNDO/REDO 부하를 줄 수 있음
  • 제약조건 또는 트리거 존재 시, DROP 실패 가능성 있음
728x90