如何禁用名称为小写的Oracle唯一约束?
解决方案
Oracle 中未用双引号包裹的标识符(约束名、表名、字段名等)会被默认转换为大写匹配,要操作名称为小写的约束,只需将约束名用双引号包裹即可严格匹配大小写:
- 禁用约束的正确语句:
ALTER TABLE fnn_fin_inst DISABLE CONSTRAINT "short_code_unique";
- 若要避免后续操作出现同样问题,可将该约束重命名为大写格式:
ALTER TABLE fnn_fin_inst RENAME CONSTRAINT "short_code_unique" TO SHORT_CODE_UNIQUE;
补充说明
后续创建数据库对象时,如无特殊的大小写要求,不要主动给对象名加双引号,即可规避大小写敏感导致的匹配失败问题。
内容的提问来源于stack exchange,提问作者Peadar Ó Duinnín
相关产品推荐
相关产品推荐

