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 :

modifier la valeur par defaut d'un champ


Sujet :

MS SQL Server

  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 262
    Par défaut modifier la valeur par defaut d'un champ
    Bonjour ;

    comment peut on modifier la valeur par défaut d'un champ pour le passer de NULL a NOT NULL,

    j'ai bien essayer un truc du genre :
    ALTER TABLE matable ALTER COLUMN macolumn INT NOT NULL
    mais cela ne marche pas !

  2. #2
    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
    Bonjour,

    Ceci est normal si vous avez des valeurs NULL dans votre table.

    Il faut d'abord mettre à jour ces valeurs et ensuite exécutez votre ordre DDL.

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    UPDATE dbo.matable
    SET colonne = ISNULL(colonne,0);
     
    ALTER TABLE dbo.matable
    ALTER COLUMN colonne INT NOT NULL;
    GO
    ++

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 262
    Par défaut
    merci pour ta réponse, je viens d'essayer , j'ai eu un message d'erreur du
    genre :
    UPDATE statement conflicted with COLUMN FOREIGN KEY constraint 'FK__D_FC_pris__fk_pl__466C5FD2'. The conflict occurred in database 'formahpt', table 'D_FC_plan_dossier', column 'pk_plan_dossier'.
    la colonne dont je veut modifier la valeur par défaut est une clé etrangère.

  4. #4
    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 : 44
    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
    Par défaut
    Bonjour,

    Effectivement si la valeur de la clé étrangère n'existe pas dans la table référencée, cela ne peut pas fonctionner.

    Si la cardinalité est de type 0,n, alors laissez la colonne NULLable.

    Sinon vous devez :
    - créer la valeur dans la table référencée,
    - ajouter une contrainte de valeur par défaut qui est la valeur de la clé de la table référencée
    - mettre à jour votre table comme vous l'a montré Mikedavem.

    Pour ajouter la contrainte de valeur par défaut :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE dbo.maTable
    ADD CONSTRAINT DF_maTable_maColonne DEFAULT (maValeur) FOR maColonne
    @++

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

Discussions similaires

  1. Modifier la valeur par defaut d'un champs sur interbase
    Par Stephpag dans le forum InterBase
    Réponses: 10
    Dernier message: 13/07/2007, 16h23
  2. Valeur par defaut dans un champ file
    Par benkunz dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 24/10/2006, 11h40
  3. valeur par defaut d'un champs smalldatetime
    Par Darks dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 13/10/2006, 09h25
  4. valeur par defaut d'un champ
    Par tojiji dans le forum Access
    Réponses: 7
    Dernier message: 11/07/2006, 15h14
  5. [Date systeme] valeur par defaut d'un champ
    Par thief dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 06/10/2005, 15h47

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