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

Développement SQL Server Discussion :

Contrainte téléphone varchar


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2009
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 45
    Par défaut Contrainte téléphone varchar
    * Bonjour, *

    J'ai un champ nommé "Téléphone"de type varchar
    et je dois ajouter une contrainte au quelle le numéro de téléphone doit être composer de 10 chiffres de (0 à 9)
    pourriez vous m'aidez s'il vous plait

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Quel est ton SGBD ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2009
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 45
    Par défaut
    SQL SERVER 2005

  4. #4
    Membre Expert

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Par défaut
    Citation Envoyé par nitch01 Voir le message
    J'ai un champ nommé "Téléphone"de type varchar
    et je dois ajouter une contrainte au quelle le numéro de téléphone doit être composer de 10 chiffres de (0 à 9)
    pourriez vous m'aidez s'il vous plait
    Il faut d'abord bien se renseigner sur ce que tu veux stocker. Si j'ai bien compris il s'agit de stocker un numéro de téléphone.

    Un numéro de téléphone peut être composé de 2, 3, 4 jusqu'à 13 chiffres.

    Si tu es CERTAIN qu'à chaque fois tu attend un numéro à 10 chiffres alors tu peux :

    1.) Changer le type VARCHAR de la colonne Telephone en CHAR (10)

    2.) Poser la contrainte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Telephone CHAR(10) NULL
                  CONSTRAINT ck_phone 
                        CHECK(Telephone 
                             LIKE ('[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'))
    Mais encore une fois renseigne-toi bien, à ta place je vais tailler la colonne Telephone sur 13 caractères et j'aurai donc quelque chose qui ressemble à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Telephone CHAR(13) NULL
                  CONSTRAINT ck_phone 
                        CHECK(Telephone 
                             LIKE ('[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]') OR Telephone LIKE ('[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'))
    A+
    Etienne ZINZINDOHOUE
    Billets-Articles

  5. #5
    Membre Expert

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Par défaut
    Question :
    Est ce que le numéro de téléphone que vous désirez stocker peut contenir des caractères : espaces ' ', tirets '-' , point '.' ?

    A+
    Etienne ZINZINDOHOUE
    Billets-Articles

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut
    Sql Server n'offre pas la souplesse des expressions régulières et les limites du lie sont très contraignantes.
    Je vous conseille donc de ne pas tenter de placer cette règle du côté Sql Server.

  7. #7
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Il est possible à partir de la version 2005 d'utiliser CLR et les RegExp pour pallier ce défaut (et si votre besoin s'en fait vraiment ressentir).

    Ne pas placer cette contrainte côté SQL Server me parait dangereux en plus ...

    ++

  8. #8
    Membre Expert

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Etienne ZINZINDOHOUE
    Billets-Articles

Discussions similaires

  1. récuperation d'un numéro de téléphone
    Par herzleid dans le forum Delphi
    Réponses: 4
    Dernier message: 17/07/2007, 09h25
  2. [SQL Server] Error converting data type varchar...
    Par Sir Tengu dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 13/06/2003, 10h46
  3. VARCHAR contenant une quote '
    Par tonyskn dans le forum Langage SQL
    Réponses: 2
    Dernier message: 29/05/2003, 19h21
  4. Suppression de la contrainte unique
    Par mika dans le forum SQL
    Réponses: 3
    Dernier message: 20/02/2003, 17h56
  5. [VB6] Affichage d'image avec qlq contraintes
    Par youri dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 21/11/2002, 14h44

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