创建自引用外键时,如果至少有一列同时出现在外键列列表和被引用列列表中就会失败

【 使用环境】 测试环境
【 使用版本 】OceanBase 4.4.2.1
【问题描述】你好,我们计划从Oracle迁移到OB, 在测试时候发现创建自引用外键时,如果至少有一列同时出现在外键列列表和被引用列列表中,就会失败。请问OB是不支持复合自引用外键中引用列和被引用列是一样的情况吗?谢谢!

【复现路径】simple demo (在Oracle中可以正常执行,在OB就是报错):

CREATE TABLE "ZZ_TEST_SELF_FK" (
  "APPL_CDE"  VARCHAR2(32) NOT NULL,
  "ID"        VARCHAR2(32) NOT NULL,
  "PARENT_ID" VARCHAR2(32),
  CONSTRAINT "ZZ_TEST_SELF_FK_PK" PRIMARY KEY ("APPL_CDE", "ID"),
  CONSTRAINT "ZZ_TEST_SELF_FK_FK1" FOREIGN KEY ("APPL_CDE", "PARENT_ID") REFERENCES "ZZ_TEST_SELF_FK" ("APPL_CDE", "ID")
);

使用的是ob的oracle模式吧 属于企业版 建议找企业的技术支持

你好,你提的这个技术问题牵涉到OceanBase企业版范围内的功能细节;针对此类问题,建议你通过以下方式寻求帮助:

  1. 如你所在的企业客户已签署OceanBase企业版销售合同,请你联系客户经理;
  2. 如你所在的企业客户尚未签署OceanBase企业版销售合同,你可通过OceanBase官网商务咨询页面留下你的联系方式,OceanBase企业版的业务顾问会在一个工作日内与你联系。

另外,我们欢迎你使用社区版,并在论坛/社群中分享你对社区版本的想法、经验和问题,与其他社区成员共同交流。