Forum Programmation.autre [SQL]Changer le nom d'un champ dans une table

Posté par  (site web personnel) .
Étiquettes : aucune
0
14
sept.
2004
Bonjour, j'aimerai changer le nom d'un champ dans une table via SQL.
Il me semble, d'après mes investigations que la commande est du type

alter nom_dela_table modify

Et là, je ne connnais pas la syntaxe


si quelqu'un maîtrise ? merci :)


En passant autre question.
Je prépare pour ma boite un logiciel qu'on pourrait qualifier de tableau croisé dynamique amélioré: Cette appli se basera sur une base de donnée.

J'aimerai savoir si, à partir de la liste des références vendues, (une ligne = une reférence, une qté, un prix unitaire, un code client), je peux faire des calculs évolué en SQL du genre

du genre calculer le différentiel des ventes totales entre mars 04 et mars 03 pour un client donnée.

donc un truc qui donnerait select ((select sum(qté*prixu) where codeclient=... and date=mars04 group by code client) - ((select sum(qté*prixu) where codeclient=... and date=mars03 group by code client) from ?

Cet exemple est débile mais je cherche à utiliser une forme d'SQL avancé où je peux lui faire cracher des calculs complexes en requêtes imbriqués, mais en restant dans le langage.

[question corrolaire, SQL est-il complet ?]
en espérant avoir été clair :)
  • # Quel SGBD ?

    Posté par  . Évalué à 1.

    Parce que sous Oracle par exemple tu peux renomer une table mais pas un champ, il faut en créer un nouveau, faire un update pour y copier les données et supprimer le champs erroné ...

    Dam
    • [^] # Re: Quel SGBD ?

      Posté par  . Évalué à 1.

      d'après la doc, avec Oracle 9, c'est possible de le faire directement avec un
      ALTER TABLE table_name RENAME COLUMN old_name TO new_name
  • # Un site:

    Posté par  . Évalué à 2.

    SQLPro

    http://sqlpro.developpez.com/indexSQL.html(...)

    La mise en page est dégueulasse, mais le contenu est une vraie mine d'or !

    Bon courage.
  • # Re: Changer le nom d'un champ dans une table

    Posté par  . Évalué à 1.

    ALTER TABLE <table> MODIFY <champ> <definition de colone>

    Exemple pour changer le champ 'field1' en integer sans valeur nulle autorisée dans la table 'matable'

    ALTER TABLE matable MODIFY field1 INTEGER NOT NULL
    • [^] # Re: Changer le nom d'un champ dans une table

      Posté par  . Évalué à 2.

      Oups.... bon alors, je reprend ma bévue tout de suite..... mon exemple précédent était pour modifier le type d'une colone, pas pour la renommer.

      ALTER TABLE ta_table CHANGE ancien_nom_du_champ nouveau_nom definition

      par exemple

      ALTER TABLE client CHANGE prennomm prenom TEXT NOT NULL

      Cependant, comme te l'as dit dam plus haut, ca dépend des SGDB. Cet exemple fonctionne dans MySQL par exemple.
  • # postgres

    Posté par  (site web personnel) . Évalué à 4.

    si tu utilise postgres (mais qu'utiliser d'autres comme DB performante et libre ?)

    ALTER TABLE xxx RENAME COLUMN yyy TO zzz;

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.