학습용 기출·복원자료 분류 확인SQLD · 2023년 50회 SQL 기본 및 활용 · 33번
Oracle에서 기존 `VARCHAR2(8)` 열을 `VARCHAR2(20)`으로 확대하는 문장은?
1
ALTER TABLE T ADD COL VARCHAR2(20)
오답 이유ADD는 같은 이름의 새 열을 추가하려 하므로 기존 열 변경이 아니다. 따라서 1번 보기 ‘ALTER TABLE T ADD COL VARCHAR2(20)’의 적용 여부를 문제 조건과 대조해야 한다.
2
UPDATE T SET COL VARCHAR2(20)
오답 이유UPDATE는 행 값을 수정하며 열 자료형을 정의하지 않는다. 따라서 2번 보기 ‘UPDATE T SET COL VARCHAR2(20)’의 적용 여부를 문제 조건과 대조해야 한다.
3
ALTER TABLE T RENAME COL VARCHAR2(20)
오답 이유RENAME은 이름 변경 기능이고 자료형 길이 확대 문법이 아니다. 따라서 3번 보기 ‘ALTER TABLE T RENAME COL VARCHAR2(20)’의 적용 여부를 문제 조건과 대조해야 한다.
4
ALTER TABLE T MODIFY COL VARCHAR2(20)
정답 근거기존 열의 자료형이나 길이는 ALTER TABLE의 MODIFY 절로 바꾼다. 길이 확대는 기존 값이 새 길이에 모두 들어가므로 일반적으로 가능하다. 따라서 4번 보기 ‘ALTER TABLE T MODIFY COL VARCHAR2(20)’의 적용 여부를 문제 조건과 대조해야 한다.
ANSWER & EXPLANATION
정답 4번
핵심 판단은 4번 ‘ALTER TABLE T MODIFY COL VARCHAR2(20)’입니다. 기존 열의 자료형이나 길이는 ALTER TABLE의 MODIFY 절로 바꾼다. 길이 확대는 기존 값이 새 길이에 모두 들어가므로 일반적으로 가능하다.