129 votes

Comment changer l'ordre des colonnes dans une table en utilisant la requête sql dans sql server 2005 ?

Comment modifier l'ordre des colonnes dans une table à l'aide d'une requête SQL dans SQL Server 2005 ?

Je veux réorganiser l'ordre des colonnes dans une table en utilisant une requête SQL.

136voto

marc_s Points 321990

Vous ne pouvez pas. L'ordre des colonnes n'est qu'une chose « cosmétique » qui intéresse les humains - pour SQL Server, c'est presque toujours absolument hors de propos.

Ce que SQL Server Management Studio fait en arrière-plan lorsque vous modifiez l'ordre des colonnes, c'est recréer la table à partir de zéro avec une nouvelle commande CREATE TABLE, copier les données de l'ancienne table, puis la laisser tomber.

Il n'y a pas de commande SQL pour définir l'ordre des colonnes.

35voto

lexu Points 5385

Vous devez énumérer explicitement les champs dans l'ordre dans lequel vous souhaitez qu'ils soient renvoyés au lieu d'utiliser * pour l'ordre 'par défaut'.

requête originale :

select * from foobar

retours

foo bar
--- ---
  1   2

écrire maintenant

select bar, foo from foobar

bar foo
--- ---
  2   1

13voto

Tim Connolly Points 131

Dans SQLServer Management Studio :

Outils -> Options -> Concepteurs -> Concepteurs de table et de base de données

  • Désélectionnez « Empêcher l'enregistrement des modifications qui nécessitent une recréation de la table ».

Puis :

  • cliquez avec le bouton droit de la souris sur la table pour laquelle vous souhaitez réorganiser les colonnes.
  • cliquez sur « Conception ».
  • Faites glisser les colonnes jusqu'à l'ordre souhaité.
  • enfin, cliquez sur Enregistrer.

SQLServer Management studio déposera la table et la recréera à l'aide des données.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X