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

DB2 Discussion :

supprimer une colonne d'une table DB2


Sujet :

DB2

  1. #1
    Membre habitué
    Inscrit en
    Novembre 2006
    Messages
    182
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 182
    Points : 125
    Points
    125
    Par défaut supprimer une colonne d'une table DB2
    Bonjour,

    comment supprimer une colonne et ajouter une colonne d'une table DB2 V9

    merci

  2. #2
    Membre éclairé Avatar de Peut-êtreUneRéponse
    Homme Profil pro
    IT Specialist - IBM Z
    Inscrit en
    Décembre 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : IT Specialist - IBM Z
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 548
    Points : 801
    Points
    801
    Par défaut
    Drop de colonne impossible.

    Il faut dropper la table et la recréer sans l'ancienne colonne et avec la nouvelle colonne (penser à conserver le contenu par unload ou copie dans une table de travail. Penser aussi à recréer les index)

    Maintenant avec DB2 9 le rename de colonne est possible, pour peu que ta nouvelle colonne ait un data type compatible pour un ALTER COLUMN, dans ce cas tu pourrais éventuellement essayer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ALTER TABLE table
      ALTER COLUMN column_old SET DATA TYPE datatype_new
      RENAME COLUMN column_old TO column_new
    Il faudra au préalable updater le contenu de cette colonne selon qu'elle soit nullable ou pas et selon le data type cible.

    .

  3. #3
    Membre éclairé Avatar de Peut-êtreUneRéponse
    Homme Profil pro
    IT Specialist - IBM Z
    Inscrit en
    Décembre 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : IT Specialist - IBM Z
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 548
    Points : 801
    Points
    801
    Par défaut
    Au temps pour moi ALTER COLUMN et RENAME COLUMN sont mutuellement exclusif, donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ALTER TABLE tab
      ALTER COLUMN column_old SET DATA TYPE datatype_new
      ;
    ALTER TABLE tab
      RENAME COLUMN column_old TO column_new
      ;

  4. #4
    Membre habitué
    Inscrit en
    Novembre 2006
    Messages
    182
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 182
    Points : 125
    Points
    125
    Par défaut
    j'ai changé le nom de la colonne mais pour réduire la taille d'une variable de CHAR(25) a Char(17)

    J’ai utilisé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE tab
      ALTER COLUMN column_old SET DATA TYPE datatype_new;
    il me donne SQLCODE = -190
    Merci pour votre réponse

  5. #5
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2005
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 473
    Points : 3 283
    Points
    3 283
    Par défaut
    Citation Envoyé par a_karim_fr Voir le message
    j'ai changé le nom de la colonne mais pour réduire la taille d'une variable de CHAR(25) a Char(17)
    Pour une colonne en CHAR, on peut en augmenter la taille mais pas la diminuer ...

  6. #6
    Membre éclairé Avatar de Peut-êtreUneRéponse
    Homme Profil pro
    IT Specialist - IBM Z
    Inscrit en
    Décembre 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : IT Specialist - IBM Z
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 548
    Points : 801
    Points
    801
    Par défaut
    @a_karim_fr > D'où mon
    pour peu que ta nouvelle colonne ait un data type compatible pour un ALTER COLUMN

  7. #7
    Membre habitué
    Inscrit en
    Novembre 2006
    Messages
    182
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 182
    Points : 125
    Points
    125
    Par défaut
    La taille de la variable est de Char (20) et je veux qu'il soit a Char (17) alors impossible de diminuer la taille, dans ce cas j'ai supprimé la colonne et je recrée a nouveau

    Merci pour votre réponse.

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

Discussions similaires

  1. [XL-2007] Comment supprimer des lignes d'une plage dans une colonne sous condition
    Par capi81 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 05/06/2015, 11h34
  2. Réponses: 3
    Dernier message: 08/10/2013, 12h34
  3. Réponses: 8
    Dernier message: 28/11/2011, 11h40
  4. supprimer une ligne et une colonne d'une matrice
    Par nessing dans le forum C++Builder
    Réponses: 8
    Dernier message: 14/08/2007, 15h42
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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