Oracle 에서 다음 두 테이블(데이터 없음)에 대해 실행할 때 오류… | [SQLD] SQL 개발자 기출유형 모의고사 6회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 6회
Oracle 에서 다음 두 테이블(데이터 없음)에 대해 실행할 때 오류가 발생하는 것은?CREATE TABLE 진료과 ( 진료과코드 VARCHAR2(5) PRIMARY KEY, 진료과명 VARCHAR2(20) ); CREATE TABLE 의사 ( 의사번호 NUMBER PRIMARY KEY, 의사명 VARCHAR2(20), 연락처 VARCHAR2(20), 진료과코드 VARCHAR2(5) REFERENCES 진료과(진료과코드) );
1
TRUNCATE TABLE 의사;
2
ALTER TABLE 의사 DROP COLUMN 연락처;
3
DROP TABLE 진료과 PURGE;
4
ALTER TABLE 의사 RENAME TO 전문의;
해설
진료과는 의사 테이블의 외래키(Foreign Key)가 참조하는 부모 테이블이라, 데이터가 없어도 그대로 DROP 하면 오류가 난다.
PURGE 는 휴지통을 거치지 않는 옵션일 뿐이며, 지우려면 CASCADE CONSTRAINTS 로 참조 제약을 함께 없애거나 FK 를 먼저 삭제해야 한다.
- FK 가 아닌 일반 열 연락처는 DROP COLUMN 으로 삭제된다.
- RENAME TO 로 자식 테이블 이름을 바꾸는 것은 허용된다.
- 의사는 참조받지 않는 자식 테이블이라 TRUNCATE 가 된다.
오류나 개정된 내용이 보이면 알려주세요