Précédent   Forum des professionnels en informatique > Bases de données > DB2
DB2 Forum d'entraide technique sur la base de données DB2. Voir aussi -> Rubrique DB2
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/05/2011, 16h51   #1
Membre du Club
 
Inscription : novembre 2006
Messages : 142
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 142
Points : 55
Points : 55
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
a_karim_fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 01h18   #2
Membre chevronné
 
Avatar de Peut-êtreUneRéponse
 
Homme Guillaume VENTRE
z/OS Technical Leader
Inscription : décembre 2006
Messages : 514
Détails du profil
Informations personnelles :
Nom : Homme Guillaume VENTRE
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : z/OS Technical Leader
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2006
Messages : 514
Points : 617
Points : 617
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 :
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.

.
__________________
★★ Documentation Mainframe par Guillaume Ventre ★★
Peut-êtreUneRéponse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 10h11   #3
Membre chevronné
 
Avatar de Peut-êtreUneRéponse
 
Homme Guillaume VENTRE
z/OS Technical Leader
Inscription : décembre 2006
Messages : 514
Détails du profil
Informations personnelles :
Nom : Homme Guillaume VENTRE
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : z/OS Technical Leader
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2006
Messages : 514
Points : 617
Points : 617
Au temps pour moi ALTER COLUMN et RENAME COLUMN sont mutuellement exclusif, donc :

Code :
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
  ;
__________________
★★ Documentation Mainframe par Guillaume Ventre ★★
Peut-êtreUneRéponse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 16h45   #4
Membre du Club
 
Inscription : novembre 2006
Messages : 142
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 142
Points : 55
Points : 55
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 :
1
2
ALTER TABLE tab
  ALTER COLUMN column_old SET DATA TYPE datatype_new;
il me donne SQLCODE = -190
Merci pour votre réponse
a_karim_fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 20h32   #5
Membre Expert

 
Homme François Durand
Spécialiste Delivery Mainframe IBM
Inscription : octobre 2005
Messages : 1 096
Détails du profil
Informations personnelles :
Nom : Homme François Durand
Âge : 53
Localisation : France, Seine Saint Denis (Île de France)

Informations professionnelles :
Activité : Spécialiste Delivery Mainframe IBM
Secteur : Finance

Informations forums :
Inscription : octobre 2005
Messages : 1 096
Points : 1 704
Points : 1 704
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 ...
Luc Orient est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2011, 01h14   #6
Membre chevronné
 
Avatar de Peut-êtreUneRéponse
 
Homme Guillaume VENTRE
z/OS Technical Leader
Inscription : décembre 2006
Messages : 514
Détails du profil
Informations personnelles :
Nom : Homme Guillaume VENTRE
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : z/OS Technical Leader
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2006
Messages : 514
Points : 617
Points : 617
@a_karim_fr > D'où mon
Citation:
pour peu que ta nouvelle colonne ait un data type compatible pour un ALTER COLUMN
__________________
★★ Documentation Mainframe par Guillaume Ventre ★★
Peut-êtreUneRéponse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2011, 09h41   #7
Membre du Club
 
Inscription : novembre 2006
Messages : 142
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 142
Points : 55
Points : 55
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.
a_karim_fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h59.


 
 
 
 
Partenaires

Hébergement Web