학습용 기출·복원자료 분류 확인SQLD · 2023년 50회 SQL 기본 및 활용 · 22번
Oracle에서 기존 열을 VARCHAR2(10), 기본값과 NOT NULL로 변경하는 구문은?
1
ALTER TABLE TEAM ADD 컬럼명 VARCHAR2(10)
오답 이유ADD는 새 열을 추가하며 기존 열 정의를 변경하지 않는다. 따라서 1번 보기 ‘ALTER TABLE TEAM ADD 컬럼명 VARCHAR2(10)’의 적용 여부를 문제 조건과 대조해야 한다.
2
ALTER TABLE TEAM UPDATE 컬럼명 VARCHAR2(10)
오답 이유UPDATE는 행 데이터 변경 DML이며 열 정의 문법이 아니다. 따라서 2번 보기 ‘ALTER TABLE TEAM UPDATE 컬럼명 VARCHAR2(10)’의 적용 여부를 문제 조건과 대조해야 한다.
3
ALTER TABLE TEAM MODIFY 컬럼명 VARCHAR2(10) DEFAULT '2023-09-09' NOT NULL
정답 근거Oracle은 기존 열 정의 변경에 MODIFY를 사용한다. 자료형과 DEFAULT, NOT NULL 조건을 새 열 정의 형식으로 함께 지정할 수 있다. 따라서 3번 보기 ‘ALTER TABLE TEAM MODIFY 컬럼명 VARCHAR2(10) DEFAULT '2023-09-09' NOT NULL’의 적용 여부를 문제 조건과 대조해야 한다.
4
MODIFY TABLE TEAM SET 컬럼명 VARCHAR2(10)
오답 이유Oracle의 구문 순서는 ALTER TABLE 뒤에 객체명과 MODIFY가 온다. 따라서 4번 보기 ‘MODIFY TABLE TEAM SET 컬럼명 VARCHAR2(10)’의 적용 여부를 문제 조건과 대조해야 한다.
ANSWER & EXPLANATION
정답 3번
핵심 판단은 3번 ‘ALTER TABLE TEAM MODIFY 컬럼명 VARCHAR2(10) DEFAULT '2023-09-09' NOT NULL’입니다. Oracle은 기존 열 정의 변경에 MODIFY를 사용한다. 자료형과 DEFAULT, NOT NULL 조건을 새 열 정의 형식으로 함께 지정할 수 있다.