2009-11-11 37 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