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

身分欄動作

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

這些表單會變更資料欄是身分資料欄,或變更現有身分資料欄的產生屬性。如需詳細資訊,請參閱 CREATE TABLE。如同 SET DEFAULT,這些表單只會影響後續 INSERTUPDATE命令的行為;它們不會導致資料表中已有的資料列變更。

sequence_option 是 支援的選項,ALTER SEQUENCE例如 INCREMENT BY。這些形式會變更以現有身分資料欄為基礎的序列。

DROP IDENTITY [ IF EXISTS ]

此表單會從資料欄移除身分屬性。如果已指定 DROP IDENTITY IF EXISTS ,且資料欄不是身分資料欄,則不會擲出錯誤。在此情況下,會改為發出通知。

新增限制條件動作

ADD table_constraint_using_index

此表單會根據現有的唯一索引,將新的UNIQUE限制新增至資料表。索引的所有資料欄都會包含在限制中。

索引必須處於 VALID 狀態;不支援在目前建置索引時使用索引新增唯一限制條件。

如果提供限制條件名稱,則會重新命名索引以符合限制條件名稱。否則,限制條件的名稱將與索引相同。

執行此命令後,限制條件會將索引「擁有」,就像索引是由一般CREATE UNIQUE INDEX ASYNC命令建置一樣。特別是,捨棄限制條件也會使索引消失。