在DB2中重命名列

时间:2017-03-20 13:47:10

标签: sql database db2

我正在尝试重命名一个表中已存在数据的列。 但下面是它正在抛出的错误。请给出建议。

语法我试过

ALTER TABLE TPR.PRODUCT_FEATURE RENAME COLUMN PRODUCT_ID TO SERVICE_ID

错误:

  

[错误]脚本行:23-23 ------------------------    无法处理对象类型“COLUMN”上的DROP,ALTER,TRANSFER OWNERSHIP,REVOKE或CREATE OR REPLACE,因为存在“PRIMARY KEY”类型的对象“PRODUCT_FEATURE_X01”,它依赖于它.SQLCODE = -478,SQLSTATE = 42893,DRIVER = 3.67.28

看着我,我需要删除并重新创建是唯一的选择。请指教。

1 个答案:

答案 0 :(得分:2)

删除约束:

ALTER TABLE TPR.PRODUCT_FEATURE 
    DROP CONSTRAINT PRODUCT_FEATURE_X01

然后改变你的桌子:

ALTER TABLE TPR.PRODUCT_FEATURE RENAME COLUMN PRODUCT_ID TO SERVICE_ID

然后添加新约束:

ALTER TABLE TPR.PRODUCT_FEATURE
      ADD CONSTRAINT PRODUCT_FEATURE_X01
      PRIMARY KEY (insert,columns,here)
相关问题