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 가 된다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[SQLD] SQL 개발자 기출유형 모의고사 6회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요SQLD SQL 개발자 실전 모의고사 암기장 전체 보기