ALTER TABLE
ALTER TABLE 명령을 사용하여 기존 테이블 및 해당 컬럼의 특성을
변경합니다. INCR 유형의 필드 값을 추가, 삭제, 변경, 수동으로 설정할 수 있습니다.
제한사항: 시스템 테이블을 변경할 수 없습니다.
구문
ALTER TABLE [database_name.]table_name
SET INCR value
ADD [COLUMN] column_name data_type [ NODEFAULT | NOMODIFY | HIDDEN ]
DROP [COLUMN] column_name
ALTER [COLUMN] column_name SET NOMODIFY { TRUE | FALSE }
ALTER [COLUMN] column_name SET HIDDEN { TRUE | FALSE }
ALTER [COLUMN] column_name SET NODEFAULT { TRUE | FALSE }
ALTER [COLUMN] column_name SET WIDTH value;단일 ALTER TABLE 명령에서 둘 이상의 ADD, DROP 또는 ALTER 설정을
지정할 수 있습니다.
예제
alter table mytab add col3 real;수동으로 증분 값 설정
INCR 유형의 컬럼은 alerts.status 테이블의 직렬 컬럼과 같이 테이블의 각 행에 고유한 번호를 부여하는 데 사용됩니다. 각 삽입에서 현재 증분 값이 새 행으로 복사된 후 다음 행에서 증가됩니다. SET
INCR (증분 설정) 절을 사용하여 후속 행의 증분 값을 설정할 수 있습니다. 이는 예를 들어 alerts.status 테이블의 새 경보에 지정된 직렬 값을 변경하려는 경우에 유용합니다.
구문은 다음과 같습니다.
ALTER TABLE table_name SET INCR value여기서 table_name은 INCR 유형의 컬럼을 포함하는 테이블의 이름이고 value는 정수입니다.예를 들어, SQL 대화식 인터페이스를 사용하여 프로시저를 실행하려면 다음 명령을 사용하십시오.
1> alter table alerts.status set incr 20100
2> go주: 중복 값을 방지하기 위해 기존 행의 값과 동일한 증분 값을 설정할 수 없습니다. 또한 앞으로 이미 존재하는 행과 동일한 값을 가지는
삽입을 발생시키는
INCR 값을 설정하지 말아야 합니다. 새 INCR 값은
최소 기존 행과 최대 기존 행 사이의 값이 아니어야 하며 테이블에 있는 기존 최소 값보다
1,000,000,000만큼 작고 기존 최대값보다 1,000,000,000만큼 커야 합니다.참고:
수정팩 23에서는 새
INCR 값이 테이블에 있는 기존 값의 1,000 ,000 내에 있는 값으로 설정되지 않도록 동작이 변경되었습니다. INCR 값 랩핑도 고려됩니다.