在oracle 10g xe中对引用列设置唯一约束

在oracle 10g xe中对引用列设置唯一约束,oracle,constraints,unique,Oracle,Constraints,Unique,我有以下情况 这张桌子看起来像这样 CREATE TABLE CompetitionsLanguages ( competition REF CompetitionType SCOPE IS Competitions, language REF LanguageType SCOPE IS Languages ); 我需要这个表在(竞争、语言)组合上有一个独特的约束。 oracle告诉我,我不能在引用其他表的列上放置UNIQUE或PK 是否有可能通过检查或某种触发方式以某种方式避免唯一性

我有以下情况

这张桌子看起来像这样

CREATE TABLE CompetitionsLanguages (
  competition REF CompetitionType SCOPE IS Competitions,
  language REF LanguageType SCOPE IS Languages
);
我需要这个表在(竞争、语言)组合上有一个独特的约束。 oracle告诉我,我不能在引用其他表的列上放置UNIQUE或PK


是否有可能通过检查或某种触发方式以某种方式避免唯一性?

我不知道答案。但是出于好奇,为什么要在表中使用这种对象语法?我可以向您保证,基于这种语法构建的真实世界数据库的数量是(等于)零!将它们作为大学课程的范例项目。别问我,我永远不会自愿这么做。但是,事实上,确实如此。因此,我必须想出某种解决方案。+1有趣的是,在ORA-02329中创建唯一约束失败的情况下,这是可行的。
CREATE UNIQUE INDEX unqIndex
    ON CompetitionsLanguages(CompetitionsLanguages, CompetitionsLanguages);