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

MS SQL Server Discussion :

Comment vérifier que la valeur d'un champ soit unique?


Sujet :

MS SQL Server

  1. #1
    Membre du Club

    Inscrit en
    Octobre 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 50
    Points : 67
    Points
    67
    Par défaut Comment vérifier que la valeur d'un champ soit unique?
    Bonjour,

    J'ai une application asp.net qui enregistre des numéros de carte dans un champ d'une table.
    Lorsde l'enregistrement d'un numéro, il faut vérifier que sa valeur soit unique.
    Faut il faire cette vérification dans le code, avant enregistrement, par une requête SQL?
    Un paramétrage de la table ou du champ permet il de le détecter et lancer une erreur lors de l'enregistrement?
    Peut on utiliser un trigger? Si oui comment faire?

    Merci d'avance pour vos pistes...

    Philippe

  2. #2
    Membre éprouvé
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Points : 1 281
    Points
    1 281
    Par défaut
    avant d'enregister le numéro de la carte, tu lance un datareader en vb.net (select numcarte from table), si ton datareader renvoi une valeur, c'est que ton num existe deja

    [/code]
    j'suis vert !

  3. #3
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut

    ou alors tu fais tou avec SQL : tu fais un SELECT en mettant en condition le numéro de carte, si ça te renvoit quelquchose, tu arrête (ton code existe déjà) s'il ne renvoit rien (le code n'est pas encore utilisé) tu insères le nouveau code.
    Tu mets le tout dans une procédure stockée et le tour est joué

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Points : 1 199
    Points
    1 199
    Par défaut
    Bonjour,
    Néanmoins pour garantir l'unicité d'un champ dans une table, rien ne vaut l'index unique sur le champ.
    De cette façon même si une personne fait des modifications sans utiliser le client, la table ne contiendra pas de doublon.


    Cordialement
    Soazig

  5. #5
    Membre du Club

    Inscrit en
    Octobre 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 50
    Points : 67
    Points
    67
    Par défaut
    Merci à tous pour votre aide.
    J'utilise un datareader pour vérifier cette contrainte.
    Philippe

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 19/11/2013, 21h36
  2. Réponses: 2
    Dernier message: 07/08/2012, 12h50
  3. Réponses: 4
    Dernier message: 14/03/2011, 15h29
  4. Réponses: 10
    Dernier message: 21/04/2009, 13h33
  5. Réponses: 11
    Dernier message: 27/03/2005, 15h13

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