使用 MODIFY 子句更改列的数据类型、长度或缺省值,添加或删除列的安全标签,允许或不允许
列中有 NULL 值或者重置 SERIAL 、SERIAL8 或 BIGSERIAL 列的序列号。
您不能将列的数据类型更改为 COLLECTION 或 ROW 类型。
受保护表的 IDSSECURITYLABEL 列不能被不同的数据类型修改,现有的列也不能被更改为
IDSSECURITYLABEL 类型。
当修改列时, 所有 先前与该列相关联的属性(即,缺省值、单列检查约束或引用约束)被删除。当
希望保留列的某些属性,例如 PRIMARY KEY ,您必须在同一 MODIFY 子句中重新指定那些属
性。
例如,如果您将现有列 quantity 的数据类型更改为 SMALLINT ,但希望保留其缺省值(在这种情
况中,为 1)和 NOT NULL 列属性,可以发出以下语句:
ALTER TABLE items MODIFY (quantity SMALLINT DEFAULT 1 NOT NULL);
注: 在 MODIFY 子句中两个属性都再次被指定。
当在 MODIFY 子句中指定 PRIMARY KEY 约束,数据库服务器也会默示地在同一列创建 NOT
NULL 约束或将同一组列更改为主键。
当更改列的数据类型时,数据库服务器不会在适当的位置执行修改。下个示例将 VARCHAR(15)
列更改为 LVARCHAR(3072) 列:
ALTER TABLE stock MODIFY (description LVARCHAR(3072));
当修改有列约束与之相关联的列时,以下约束被删除:
⚫ 所有单列约束被删除。
⚫ 所有引用该列的引用约束被删除。<
MODIFY 子句
最新推荐文章于 2024-03-26 21:49:56 发布