我在 DB2 中创建了下表。由于序列是GENERATED BY DEFAULT
,主键可以插入表中(因为主键是在使用alter创建表后添加的)并且存在重复值的机会。解决方案是使用 GENERATED BY ALWAYS
创建序列。现在我的表中有数据,我想将其从 GENERATED BY DEFAULT
更改为 GENERATED BY ALWAYS
CREATE TABLE HW_COB.ILCCDS
(
CDS_IDENTITY FOR COLUMN CDSID NUMERIC(13, 0) GENERATED BY DEFAULT AS IDENTITY (
START WITH 1 INCREMENT BY 1
NO MINVALUE NO MAXVALUE
NO CYCLE NO ORDER
CACHE 20 ) ,
CODE_1 FOR COLUMN CDSCD1 CHAR(30),
CODE_2 FOR COLUMN CDSCD2 CHAR(30) );
ALTER TABLE HW_COB.ILCCDS ADD CONSTRAINT HW_COB.PK_CDS_IDENTITY PRIMARY KEY (CDS_IDENTITY);
最佳答案
Finally got the alter as :
ALTER TABLE HW_COB.ILCCDS ALTER COLUMN CDS_IDENTITY SET GENERATED ALWAYS;
关于sql - 在 DB2 中更改主键序列( 'Default' 到 'Always'),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31449254/