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





oj_SQL.txt


'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

+ Recent posts