Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 연동
- 예제
- 개행처리
- 이클립스
- 설치
- Android SDK
- 자바
- 외래키
- 안드로이드
- jdbc
- Android
- SQL
- Oracle
- ibatis parameter
- 오라클
- IO
- Eclipse
- SEQUENCE
- MVC
- java
- ibatis bind
- IT·컴퓨터
- 우편번호
- 스프링
- Objective C
- 아이폰
- ibatis 개행
- Spring
- zipcode
- iPhone
Archives
- Today
- Total
MisoBoy Blog...
[20110708] Oracle 테이블 제거 (FOREIGN KEY) 본문
Table 삭제시 외부키로 연결되어 있다면 삭제가 가능합니까 ?
질문
Table 삭제시 외부키로 연결되어 있다면.... 삭제가 가능합니까?
답변
참조하는 테이블(child table)은 삭제 가능하지만 참조되어지는 테이블(parent table)을 삭제하려면 Cascade Constraints 옵션을 추가로 사용해야 합니다.
-- 1. EMPLOYEE 테이블에 의해서 참조되어지는 DEPARTMENT 테이블을 생성한다. SQL> CREATE TABLE department (id NUMBER(2), dname VARCHAR2(10), CONSTRAINT deparment_dname_pk PRIMARY KEY(id)); --2. FOREIGN KEY를 포함하는, DEPARTMENT 테이블을 참조하는 -- EMPLOYEE 테이블을 생성한다. SQL> CREATE TABLE employee (id NUMBER(2), name VARCHAR2(10), salary NUMBER(4), deptid NUMBER(2), CONSTRAINT employee_deptid_fk FOREIGN KEY(deptid) REFERENCES department(id)); --3. 참조되어지는 테이블을 삭제하려면 다음과 같이 에러가 발생한다. SQL> DROP TABLE department; DROP TABLE department * 1행에 오류: ORA-02449: 외래 키에 의해서 참조된 테이블에 유일/기본 키입니다 -- 4. 참조되어지는 테이블을 CASCADE CONSTRAINTS 옵션을 통해 삭제한다. SQL> DROP TABLE department CASCADE CONSTRAINTS; -- 물론 참조하는 테이블은 그냥 삭제하면 된다. SQL> DROP TABLE employee;
'Oracle' 카테고리의 다른 글
[20110712] Oracle Transaction & DDL(CREATE, DROP, ALTER, COMMENT, TRUNCATE) (0) | 2011.07.12 |
---|---|
[20110711] Oracle Subquery & 복수행 & DML (0) | 2011.07.11 |
Oracle Table (mssql Table, zipcode(우편번호)) (0) | 2011.07.11 |
[20110708] Oracle Join 문 (0) | 2011.07.10 |
Oracle Join & 함수 문제 (0) | 2011.07.10 |