Oracle 에서 다음 [청구] 테이블에 실행했을 때 오류가 발생하는 … | [SQLD] SQL 개발자 기출유형 모의고사 10회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 10회
Oracle 에서 다음 [청구] 테이블에 실행했을 때 오류가 발생하는 문장은?
CREATE TABLE 청구 (
  청구번호 NUMBER(5),
  금액     NUMBER(9),
  사유     VARCHAR2(30)
);
-- 3행 입력·커밋, 모든 행의 금액·사유에 값이 있음
1
ALTER TABLE 청구 MODIFY (금액 VARCHAR2(9))
2
ALTER TABLE 청구 RENAME TO 청구이력
3
ALTER TABLE 청구 DROP COLUMN 사유
4
ALTER TABLE 청구 ADD (메모 VARCHAR2(100))
해설

값이 들어 있는 열은 데이터 형을 바꿀 수 없으므로, 숫자 열인 금액을 VARCHAR2 로 MODIFY 하면 열이 비어 있어야 한다는 오류가 난다.

형을 바꾸려면 열 값을 모두 NULL 로 비우거나, 새 열을 ADD 해 값을 옮긴 뒤 기존 열을 지워야 한다.

  • 새 열 추가는 기존 행에 NULL 이 채워지므로 데이터가 있어도 된다.
  • RENAME TO 는 테이블 이름을 바꾸는 구문으로 정상 실행된다.
  • DROP COLUMN 은 데이터가 있어도 열과 값을 함께 지운다.

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

이어서 풀어보기

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