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

使用ALTER TABLE添加NOT NULL约束时如何自定义约束名称

Oracle为NOT NULL约束自定义命名的操作方法

你可以在ALTER TABLE MODIFY语句中显式通过CONSTRAINT关键字指定约束名,正确写法如下:

ALTER TABLE ACTOR MODIFY FIRST_NAME VARCHAR2(45) CONSTRAINT CK_Fanme NOT NULL;

注意事项

  • 执行语句前需确认ACTOR表中现有数据的FIRST_NAME字段没有NULL值,否则约束创建会失败,你需要先将所有NULL行的FIRST_NAME填充为有效值后再执行上述语句
  • 如果该字段之前已经存在未命名的NOT NULL约束,需要先删除原有约束再创建自定义命名的约束:
    1. 先查询该字段对应的现有非空约束名:
    SELECT CONSTRAINT_NAME FROM USER_CONSTRAINTS 
    WHERE TABLE_NAME = 'ACTOR' 
    AND CONSTRAINT_TYPE = 'C' 
    AND UPPER(SEARCH_CONDITION) LIKE '%FIRST_NAME%IS NOT NULL';
    
    1. 执行删除原有约束的语句:
    ALTER TABLE ACTOR DROP CONSTRAINT 替换为上一步查询到的约束名;
    
    1. 再执行开头的自定义命名约束创建语句即可
  • 注意你问题中误写的FIST_NAME是拼写错误,正确字段名应为FIRST_NAME,执行时注意核对字段名避免报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 06:15:05