bonjour,
j'aimerais savoir s'il est possible de modifier le type de données de d'un champs... si oui comment?
par exemple d'un champs de type date, j'aimerais le mettre en chaine!
Merci
bonjour,
j'aimerais savoir s'il est possible de modifier le type de données de d'un champs... si oui comment?
par exemple d'un champs de type date, j'aimerais le mettre en chaine!
Merci
Oui il est possible (a condition que les types de données soient compatibles)
Voici un exemple de requete SQL, qui transforme monchamp en varchar :
Code : Sélectionner tout - Visualiser dans une fenêtre à part ALTER TABLE "public"."matable" ALTER COLUMN "monchamp" TYPE VARCHAR
Signaler que le pb est résolu ;)
++
Jul.
Marche pas chez moi, il m'indique une erreur de syntaxe près de TYPE...
Pour une conversion d'un champ CHAR vers VARCHAR
normalement char et varchar sont 2 types compatibles, donc ca devrait passer, quel version de pg utilise tu ? (avant 8 ca marchait pas de memoire)
peut tu mettre ta requete ?
La seule solution que j'ai trouvée pour postGreSQL 7.4 est de faire un dump de la table, de la supprimer, de modifier la structure dans le dump et de l'executer.
Merci à vous
ALTER TABLE monshema.matable ALTER COLUMN monchamps TYPE monnouveautype
Cette solution ne fonctionne pas lorsqu'on a des vues qui utilisent le champ qu'on souhaite modifier.
J'ai le message : ERROR: cannot alter type of a column used by a view or rule
Y'a t'il un moyen de modifier le type d'un champ simplement (passer d'un réel à un double précision par exemple), y compris pour des champs utilisés dans des vues ?
Merci de votre aide.
Non ! Les objets étant interdépendant, le changement d'un type provoquera des erreurs dans les autres objets. C'est pour cela que la norme SQL interdit ce type de commande.Y'a t'il un moyen de modifier le type d'un champ simplement (passer d'un réel à un double précision par exemple), y compris pour des champs utilisés dans des vues ?
Néanmoins, certains SGBDR permettent ce genre de choses avec toutes les conséquences que cela peut avoir ensuite.
Une solution plus intelligente consiste à élaborer un script SQL de modification de schéma.
Vous pouvez vous inspirer de celui que j'ai écrit ici :
http://sqlpro.developpez.com/cours/s...partie2#L7.6.1
Cependant le moyen le plus rapide et le plus intelligent est d'utiliser un outil de modélisation de données comme Power AMC, qui permet de générer automatiquement des script SQL de delta schéma entre les différentes versions de votre modèle de données.
A +
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager