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 :

Probléme de type avec les contraintes


Sujet :

MS SQL Server

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 43
    Points : 30
    Points
    30
    Par défaut Probléme de type avec les contraintes
    Bonjour tout le monde, au fait j'ai rencontr un probléme sur ma requête avec les contraintes qui me souligne un probléme de type et voila le code que j'ai entré :

    ------------------------------------------------------------------------
    ALTER TABLE logement
    ADD CONSTRAINT cst_typelogement
    CHECK(typelogement IN ('appartement', 'suite', 'villa', 'studio', 'bureau'))
    ------------------------------------------------------------------------

    et l'erreur signalé lors de l'execution de la requête est :

    ------------------------------------------------------------------------
    Serveur*: Msg 1760, Niveau 16, État 1, Ligne 1
    Des contraintes de type CHECK ne peuvent pas être créées dans des colonnes de type TEXT.
    Serveur*: Msg 1750, Niveau 16, État 1, Ligne 1
    Impossible de créer la contrainte. Voir les erreurs précédentes.
    ------------------------------------------------------------------------
    Merci de vouloir répondre à mon probléme.

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Points : 1 628
    Points
    1 628
    Par défaut
    Citation Envoyé par kasse Voir le message
    Bonjour tout le monde, au fait j'ai rencontr un probléme sur ma requête avec les contraintes qui me souligne un probléme de type et voila le code que j'ai entré :

    ------------------------------------------------------------------------
    ALTER TABLE logement
    ADD CONSTRAINT cst_typelogement
    CHECK(typelogement IN ('appartement', 'suite', 'villa', 'studio', 'bureau'))
    ------------------------------------------------------------------------

    et l'erreur signalé lors de l'execution de la requête est :

    ------------------------------------------------------------------------
    Serveur*: Msg 1760, Niveau 16, État 1, Ligne 1
    Des contraintes de type CHECK ne peuvent pas être créées dans des colonnes de type TEXT.
    Serveur*: Msg 1750, Niveau 16, État 1, Ligne 1
    Impossible de créer la contrainte. Voir les erreurs précédentes.
    ------------------------------------------------------------------------
    Merci de vouloir répondre à mon probléme.
    Le message à l'air d'être claire typelogement est de type TEXT et Des contraintes de type CHECK ne peuvent pas être créées dans des colonnes de type TEXT
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  3. #3
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Pour compléter la réponse de rad_hass, à priori il n'y a pas de raison pour que vous ayez stocké typelogement avec un type TEXT, qui est fait pour stocker des BLOB, autrement dit dans votre cas un long texte, ce qui n'est apparemment pas le cas.
    Changez le type de cette colonne en type VARCHAR(n).
    Le mieux reste de créer un table des types de logement, chacun ayant un identifiant numérique entier, et de référencer cet identifiant dans la table logement
    Ainsi, en indexant la colonne IDtypelogement dans la table logement, et en faisant une jointure sur la table typelogement sur la colonne IDtypelogement, vous aurez de bonnes performances.

    Retenez que traiter une chaîne est beaucoup plus coûteux que de traiter un nombre, et pas qu'en SQL

    @++

Discussions similaires

  1. Problème de type avec les génériques
    Par othebault dans le forum Langage
    Réponses: 5
    Dernier message: 17/09/2009, 14h59
  2. [AC-2003] Problème d'arrondi avec les champs de type réel simple
    Par gege2061 dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 15/09/2009, 17h58
  3. Problèmes de pointeurs avec les arbres
    Par thierry57 dans le forum C
    Réponses: 17
    Dernier message: 22/12/2005, 23h35
  4. probléme d'enregistrement avec les chexkbox.
    Par pmboutteau dans le forum ASP
    Réponses: 16
    Dernier message: 18/10/2005, 15h05
  5. Réponses: 6
    Dernier message: 19/05/2005, 11h06

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