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

Oracle Discussion :

contrainte d'intégrité super dur a gérer !


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1
    Par défaut contrainte d'intégrité super dur a gérer !
    salut à tous!!
    Je dois créer une table Stagiaire dont les attributs sont les suivants:
    (numeroStagiaire,nomStagiaire, statut stagiaire)

    Le numéro de stagiaire doit absolument être composé de 6 chiffre et une lettre...
    comment imposer cela??
    merci!!

  2. #2
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    numeroStagiaire VARCHAR2(7) CHECK ( condition)
    Avec condition =
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    LENGTH(LTRIM(numeroStagiaire, '1243567890') = 1)
    AND LENGTH(numeroStagiaire ) = 7

  3. #3
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Joli

  4. #4
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    En fait le test vérifie qu'il y ait bien 6 chiffres et 1 caractère.
    Si on veut vérifier que ce soit une lettre [a-z A-Z] faut passer par le ASCII
    Ca devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    LENGTH(numeroStagiaire) = 7
    AND LENGTH(LTRIM(numeroStagiaire, '1243567890') = 1) 
    AND ASCII(UPPER(LTRIM(numeroStagiaire, '1243567890'))) BETWEEN 65 AND 90
    le upper évite de tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    between 97 and 122 -- [a-z]
    OR between 65 and 90 -- [A-Z]

Discussions similaires

  1. Merise : Contrainte d'intégrite fonctionnelle
    Par new_wave dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 22/06/2022, 11h51
  2. [SGBDR] Contraintes d'intégrité sont elles incontournables ?
    Par davcha dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 21/03/2006, 11h19
  3. Réponses: 5
    Dernier message: 26/10/2005, 14h43
  4. [debutant] Contraintes d'intégrité définies sur un objet
    Par maysa dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 25/05/2004, 14h57
  5. Question sur les contraintes d'intégrités
    Par eGGyyS dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 27/04/2004, 13h51

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