2009-11-11 2 views
0

J'ai la situation suivante.Configuration de la contrainte unique sur les colonnes référencées dans Oracle 10g xe

Table

ressemble à ceci

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

je besoin de cette table pour avoir une contrainte unique (concurrence, langue) combinaison. oracle me dit que je ne peux pas mettre UNIQUE ou PK sur les colonnes qui référencent d'autres tables.

est-il possible d'éviter en quelque sorte l'unique, en utilisant le CHECK, ou une sorte de TRIGGER?

+1

Je ne connais pas la réponse. Mais par curiosité, pourquoi utilisez-vous cette syntaxe d'objet dans vos tables? Je peux vous assurer que le nombre de base de données réel construit sur ce type de syntaxe est (aussi bon que) zéro! –

+0

jusing leur pour un exemple de projet dans le cours de collège. Ne me demandez pas wyh, je ne le ferais jamais volontairement. mais, tel qu'il est, c'est. donc je dois trouver une sorte de solution. – Zaak

Répondre

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

+1 Intéressant que cela fonctionne lors de la création d'une contrainte UNIQUE échoue avec ORA-02329. – APC

Questions connexes