본문 바로가기

프로그램/SQL

#SQL_ALTER TABLE 테이블 수정하기(2)

 

ALTER TABLE 테이블명 MODIFY 변수명 데이터타입 ;

 

위의 쿼리문으로 변수 데이터 타입 변경할 시,

ORA-01439: column to be modified must be empty to change datatype
데이터 유형을 변경할 열은 비어 있어야 합니다

이러한 결과의 오류를 발견한 경우 !  다음과 같이 변경되어야 합니다 ~

 


 

1. 데이터가 없는 컬럼 타입 변경

: 첫째 줄의 쿼리문과 같이 변경하면 됨.

 

** 같은 데이터 타입에서 크기만 변경될 경우 사용 !!

예시) COL2컬럼을 VARCHAR2(10)에서 VARCHAR2(30)으로 변경

ALTER TABLE EX_ALTER MODIFY COL2 VARCHAR2(30) ;

 

 

 

2. 데이터가 있는 컬럼 타입 변경

새 컬럼 생성 - 새 컬럼에 기존 데이터 입력 - 기존 컬럼 삭제 - 새 컬럼 이름을 기존 컬럼 이름으로 변경

 

: 위의 순서에 따라 변경하면 됨.

 

예시) 앞의 게시물에서 생성한 EX_ALTER테이블의 COL4 컬럼에 데이터가 있다고 가정한 후, 

COL4 컬럼의 데이터 타입을 VARCHAR2(10)에서 NUMBER로 변경할 것

 

(1) 새 컬럼 생성

ALTER TABLE EX_ALTER ADD COL4_NEW NUMBER ;

(2) 새 컬럼에 기존 데이터 입력

UPDATE EX_ALTER SET COL4_NEW = COL4 ;

(3) 기존 컬럼 삭제

ALTER TABLE EX_ALTER DROP COLUMN COL4 ;

(4) 새 컬럼 이름을 기존 컬럼 이름으로 변경

ALTER TABLE EX_ALTER RENAME COLUMN COL4_NEW TO COL4 ;

 

 

 

이상 SQL 테이블 수정과정(2)이었습니다 ♪(´▽`)