1) 모든 테이터와 테이블 구조 삭제
2) 저장공간은 모두 반환됩니다
3) DDL이므로 Tx 종료(commit)
4) 테이블의 모든 인덱스(자동생성된 인덱스)와 제약조건도 같이 삭제
5) ROLLBACK으로 데이터를 살릴 수 없다.
단 flashback technology를 이용하면 복구 가능
flashback table member2 to before drop;
단, purge 옵션으로 drop하면 flashback도 불가능 --> 데이터베이스 복구
6) FK에 의해 참조되고 있다면 삭제되지 않습니다.
7) FK에 의해 참조되고 있어도 삭제하고 싶다면
CASCADE CONSTRAINTS 옵션을 사용하세요.
↓ ↓ ↓
SQL> select * from d1;
DEPTNO DNAME DLOC
---------- -------------------- --------------------
20 Executives Seoul
SQL> select * from e1;
EMPNO ENAME DEPTNO SAL
---------- -------------------- ---------- ----------
1000 James 2000
3000 King 20 1100
SQL> drop table d1;
drop table d1
*
ERROR at line 1:
ORA-02449: unique/primary keys in table referenced by foreign keys
==> e1 테이블이 d1 테이블을 참조하므로 d1 테이블을 삭제할 수 없습니다.
SQL> select constraint_name, constraint_type from user_constraints
2* where table_name = 'E1'
CONSTRAINT_NAME C
------------------------------ -
E1_ENAME_NN C
E1_SAL_CK C
E1_EMPNO_PK P
E1_DEPTNO_FK R
SQL> drop table d1 cascade constraints;
==> CASCADE CONSTRAINTS 옵션 사용
Table dropped.
SQL> select constraint_name, constraint_type from user_constraints
2 where table_name = 'E1';
CONSTRAINT_NAME C
------------------------------ -
E1_ENAME_NN C
E1_SAL_CK C
E1_EMPNO_PK P
'Oracle > SQL Fundamentals I' 카테고리의 다른 글
12일차 #10-5: View의 장점(쓰임새) (0) | 2012.04.19 |
---|---|
12일차 #10-4: View 란? (0) | 2012.04.19 |
11일차 # 9-32: CTAS (0) | 2012.04.18 |
11일차 # 9-27: FOREIGN KEY constraints (0) | 2012.04.18 |
11일차 # 9-17: Constraints (0) | 2012.04.18 |