View a markdown version of this page

ALTER TABLE - Amazon Aurora DSQL

ALTER TABLE

ALTER TABLE은 테이블의 정의를 변경합니다.

ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ] action [, ... ] ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ] RENAME [ COLUMN ] column_name TO new_column_name ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ] RENAME CONSTRAINT constraint_name TO new_constraint_name ALTER TABLE [ IF EXISTS ] name RENAME TO new_name ALTER TABLE [ IF EXISTS ] name SET SCHEMA new_schema where action is one of: ADD [ COLUMN ] [ IF NOT EXISTS ] column_name data_type ADD table_constraint_using_index ALTER [ COLUMN ] column_name { SET GENERATED { ALWAYS | BY DEFAULT } | SET sequence_option | RESTART [ [ WITH ] restart ] } [...] ALTER [ COLUMN ] column_name DROP IDENTITY [ IF EXISTS ] OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER } and table_constraint_using_index is: [ CONSTRAINT constraint_name ] UNIQUE USING INDEX index_name

ID 열 작업

SET GENERATED { ALWAYS | BY DEFAULT } / SET sequence_option / RESTART

이러한 양식은 열이 ID 열인지 아니면 기존 ID 열의 생성 속성을 변경하는지 여부를 변경합니다. 세부 정보는 CREATE TABLE 섹션을 참조하세요. SET DEFAULT와 마찬가지로 이러한 형식은 후속 INSERTUPDATE 명령의 동작에만 영향을 미치며 테이블에 이미 있는 행은 변경되지 않습니다.

sequence_optionINCREMENT BY와 같이 ALTER SEQUENCE에서 지원하는 옵션입니다. 이러한 형식은 기존 ID 열의 기반이 되는 시퀀스를 변경합니다.

DROP IDENTITY [ IF EXISTS ]

이 양식은 열에서 ID 속성을 제거합니다. DROP IDENTITY IF EXISTS가 지정되어 있고 열이 ID 열이 아닌 경우 오류가 발생하지 않습니다. 이 경우 대신 알림이 발행됩니다.

제약 조건 작업 추가

ADD table_constraint_using_index

이 양식은 기존 고유 인덱스를 기반으로 테이블에 새 UNIQUE 제약 조건을 추가합니다. 인덱스의 모든 열이 제약 조건에 포함됩니다.

인덱스는 VALID 상태여야 합니다. 인덱스가 현재 빌드 중인 동안 해당 인덱스를 사용하여 고유한 제약 조건을 추가하는 것은 지원되지 않습니다.

제약 조건의 이름을 지정하면 제약 조건 이름과 일치하도록 인덱스의 이름이 변경됩니다. 그렇지 않으면 제약 조건의 이름이 인덱스와 동일하게 지정됩니다.

이 명령이 실행된 후 인덱스는 일반 CREATE UNIQUE INDEX ASYNC 명령으로 인덱스를 빌드한 것과 동일한 방식으로 제약 조건에 의해 "소유"됩니다. 특히, 제약 조건을 삭제하면 인덱스도 사라집니다.