2009-11-11 68 views
0

我有以下情况。在oracle 10g中对引用列设置唯一约束xe

表看起来像这样

CREATE TABLE CompetitionsLanguages (
    competition REF CompetitionType SCOPE IS Competitions, 
    language REF LanguageType SCOPE IS Languages 
); 

我需要这个表有(竞争,语言)组合的唯一约束。 oracle告诉我,我不能在引用其他表的列上放置UNIQUE或PK。

是否有可能以某种方式避免独特的,使用CHECK或某种TRIGGER?

+1

我不知道答案。但出于好奇,为什么你在表中使用这种对象语法?我可以向你保证,以这种语法构建的真实世界数据库的数量是(和零)一样好! – 2009-11-11 15:18:19

+0

将它们用于大学课程中的示例项目。不要问我,我永远不会主动这样做。但事实确实如此。所以我必须想出一些解决方案。 – Zaak 2009-11-13 08:13:18

回答

2
CREATE UNIQUE INDEX unqIndex 
    ON CompetitionsLanguages(CompetitionsLanguages, CompetitionsLanguages); 
+0

+1有趣的是,在创建唯一约束时,这起作用失败与ORA-02329。 – APC 2009-11-12 10:51:55