현상
Column 타입 변경 시 발생할 수 있는 7080 에러 메시지에 대해 설명합니다.
참고
7080 에러 메시지: Specified column ‘ ’ must be empty before changing datatypes.
Tibero 7 FS02에서는 해결된 문제로, 이전 버전의 경우인 경우 본 해결 방안을 참고합니다.
Tibero6 FS07_CS_2005
Column 타입을 Varchar(byte)를 varchar(char)로 변경 시 발생할 수 있습니다.
SQL> create table t2 (c1 varchar(20 char));
Table 'T2' created.
SQL>
SQL> insert into t2 values('abcdefghij');
1 row inserted.
SQL> commit;
Commit completed.
SQL> alter table t2 modify(c1 varchar(1000 byte));
TBR-7080: Specified column 'T2'.'C1' must be empty before changing datatypes.
SQL
복사
원인
TIbero6 FS07_CS_2005 이하 버전
테이블 생성 시 varchar 컬럼에 지정한 character length semantics 이후, 해당 컬럼에 modify column 수행 시 character length semantics가 다르며
해당 테이블에 데이터가 있을 경우 발생합니다.
해결
create table 수행 당시의 character length semantic과 동일하게 변경합니다.
아래 해결 예시는 위에서 제시한 현상 예시에 적용되는 내용 입니다.
alter table t2 modify(c1 varchar(1000 char));
>> Table 'T2' altered.
SQL
복사
참고
해당 에러는 테이블 내에 데이터가 없을 경우에는 발생하지 않습니다.