IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Oracle Discussion :

Contrainte sur une table [11gR2]


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2009
    Messages : 85
    Par défaut Contrainte sur une table
    Bonjour,

    J'aimerai construire une contrainte sur une table. Cette contrainte serait sur trois colonnes. Voici un exemple de données, à partir des colonnes x,y,z :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    X     Y     Z
    18 140    'Y'
    18 140    'N'
    18 140    'N'
    18 141    'Y'
    L'entrée X,Y,Z doit être unique lorsque Z='Y' et peut se présenter N fois lorsque Z='N'. Comment puis-je faire ? J'espère que je suis suffisamment clair. Merci pour votre réponse.

  2. #2
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Si pour votre jeux d'essai je tente d'insérer la ligne
    est-ce que elle doit aboutir ou pas ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2009
    Messages : 85
    Par défaut
    Oui, elle doit être insérée.

  4. #4
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Alors quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    create unique index ux_t_idx on t_idx (x, y, Case When Z = 'N' Then sys_guid() End)

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2009
    Messages : 85
    Par défaut
    C'est parfait et fonctionnel ! Merci beaucoup !

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2009
    Messages : 85
    Par défaut
    J'ai toutefois une question. Je ne vois pas comment est géré le cas Z='Y' ? Je vois bien que pour le cas x=18 y=140 et Z='N' il génère un id unique avec sys_guid()!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2008R2] Contraintes sur une table Sqlserver 2008R2
    Par medhan dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 03/10/2015, 14h45
  2. Réponses: 5
    Dernier message: 16/07/2011, 16h49
  3. Contrainte sur une table reflexive
    Par MartinezGarcia dans le forum Requêtes
    Réponses: 7
    Dernier message: 12/11/2010, 14h03
  4. pb vue sur contrainte d'une table donnée
    Par bb5477 dans le forum SQL
    Réponses: 7
    Dernier message: 11/01/2008, 15h47
  5. Modifier une contrainte sur une table InnoDb
    Par DomZZZ dans le forum Outils
    Réponses: 1
    Dernier message: 13/03/2006, 14h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo