sql - 在 DB2 中更改主键序列( 'Default' 到 'Always')

标签 sql database db2

我在 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/

相关文章:

sql - 如何在sql中减去两列的日期

php - 如何在迁移中从表中删除 softDeletes

python - 将数据插入 Cassandra

c - sqlca.sqlerrm.sqlerrmc SQL 代码 -284

java - 如何从表中获取jdbc空对象

php或mysql以随机顺序从每个组合中选择数据

sql - 将 JSON 数组取消嵌套为多行 - BigQuery

php - 我正在寻找新的更新功能或建议来修复我现有的功能

database - 使用 Grails 访问没有域类的数据库

ssl - IBM DB2 JDBC 通过 SSL 连接到编目数据库