You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ORA-30667错误:无法删除DEFAULT ON NULL列的NOT NULL约束求助

解决ORA-30667错误:无法删除DEFAULT ON NULL列的NOT NULL约束

根据错误提示的Action说明,必须先移除列的DEFAULT ON NULL属性,才能执行删除NOT NULL约束、列或表的操作。具体步骤如下:

  1. 移除TABLE_ID列的DEFAULT ON NULL属性
    执行SQL命令将列的默认值设置为NULL,以此清除ON NULL特性:

    ALTER TABLE A MODIFY TABLE_ID DEFAULT NULL;
    
  2. 查询TABLE_ID列的NOT NULL约束名
    系统会自动为NOT NULL约束生成名称,执行以下语句获取该约束名:

    SELECT constraint_name
    FROM user_cons_columns
    WHERE table_name = 'A'
      AND column_name = 'TABLE_ID'
      AND constraint_type = 'C';
    
  3. 删除NOT NULL约束
    将查询得到的约束名替换到下方命令中执行:

    ALTER TABLE A DROP CONSTRAINT <约束名>;
    
  4. 执行目标操作

    • 删除TABLE_ID列:
      ALTER TABLE A DROP COLUMN TABLE_ID;
      
    • 删除表A:
      DROP TABLE A;
      

内容的提问来源于stack exchange,提问作者SandeepChander

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 04:45:14