OB版本是3.2.3.3 的 Oracle模式,运行以下SQL报错,OB是对索引有约束吗?
create table test (
name varchar2(20)
);
create index idx_name on TEST(name);
alter table TEST add constraint uniq_name unique(name);
ErrorCode=1408, SOLState = HY000, Details = ORA-01408: such column list already indexed
咖啡哥
#3
重复了。你已经建了一个普通索引了。
建约束的同时会建一个索引
End
#5
您好
两个环境的表结构是一致的么,错误提示是已经有索引了
咖啡哥
#6
oracle 如果已经存在索引了,建约束的时候是不会在建索引的。直接使用已有的索引,主键约束也这样。
OB实现上跟Oracle不一样了。
1 个赞
OB的Oracle模式和Oracle19C一样的,都是运行着几行SQL。
旭辉
#8
建议检查下这个列上是否已建索引,另外,你提的这个技术问题牵涉到OceanBase企业版范围内的功能细节。建议你通过以下方式寻求帮助:
1.如你所在的企业客户已签署OceanBase企业版销售合同,请你联系客户经理;
2.如你所在的企业客户尚未签署OceanBase企业版销售合同,你可通过OceanBase官网商务咨询页面留下你的联系方式,OceanBase企业版的业务顾问会在一个工作日内与你联系。
OceanBase官网商务咨询
https://www.oceanbase.com/contactus?fromPage=https%3A%2F%2Fwww.oceanbase.com%2Fsoftwarecenter-enterprise&dataSources=softwarecenter-enterprise_footercontact_d2022
咖啡哥
#9
OB只是尽量去兼容Oracle的语法,底层实现不一样