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 은 데이터가 있어도 열과 값을 함께 지운다.
오류나 개정된 내용이 보이면 알려주세요