Modifier l'ordre des colonnes dans une table

S’applique à : SQL Server 2016 (13.x) et versions ultérieures Azure SQL Database Azure SQL Managed InstanceAnalytics Platform System (PDW)

Vous pouvez modifier l’ordre des colonnes dans Table Designer dans SQL Server Management Studio (SSMS). Par défaut, un mécanisme de sécurité de SSMS bloque la modification de l’ordre des colonnes. Bien que cela ne soit pas recommandé, vous pouvez modifier l’ordre des colonnes dans une table en recréant la table.

L’ajout de colonnes à une table par défaut les ajoute à la fin de la table, comme recommandé.

Recommandations

Meilleures pratiques avec l’ordre des colonnes de table :

  • Pour modifier l’ordre des colonnes affichées dans un jeu de résultats, un rapport ou une application, utilisez l’ordre des colonnes dans une instruction SELECT (Transact-SQL). Spécifiez toujours le nom des colonnes dans vos requêtes et applications dans l'ordre dans lequel vous souhaitez qu'elles apparaissent.
  • N’utilisez pas dans les SELECT * applications. L’ajout ou la suppression de colonnes peut entraîner un comportement inattendu ou des erreurs dans les applications.
  • Ajoutez de nouvelles colonnes à la fin des tables.

Attention

Changer l'ordre des colonnes d'une table peut avoir une incidence sur le code et les applications qui dépendent de l'ordre spécifique des colonnes. Il peut s'agir de requêtes, de vues, de procédures stockées, de fonctions définies par l'utilisateur et d'applications clientes. Examinez attentivement les modifications que vous souhaitez apporter à l’ordre des colonnes.

Utiliser SQL Server Management Studio

Changer l'ordre des colonnes

Bien qu’il ne soit pas recommandé, vous pouvez modifier l’ordre des colonnes d’une table à l’aide de SQL Server Management Studio (SSMS). Cela nécessite de recréer la table.

Important

Utilisez toujours la dernière version de SQL Server Management Studio (SSMS).

  1. Dans l’Explorateur d’objets, cliquez avec le bouton droit sur la table dont vous souhaitez réorganiser les colonnes et sélectionnez Conception.

  2. Sélectionnez la case à gauche du nom de la colonne à réordonner.

  3. Faites glisser la colonne vers un autre emplacement dans la table.

Lors de ces changements, vous pouvez être bloqué par une fonctionnalité de sécurité importante de SSMS, contrôlé par le paramètre Empêcher l’enregistrement de modifications qui nécessitent une recréation de la table. Ce paramètre est activé pour empêcher la suppression accidentelle ou la recréation de la table via les boîtes de dialogue SSMS, ce qui peut entraîner une interruption et la perte des métadonnées ou des autorisations. Pour plus d’informations, consultez le message d’erreur « L’enregistrement des modifications n’est pas autorisé » dans SSMS. Au lieu de cela, il est recommandé d’exécuter ces types de modifications, en toute connaissance de leur impact, via des étapes Transact-SQL qui comptent pour les autorisations et les métadonnées.

Attention

La recréation d’une table bloque l’accès simultané à la table pour d’autres utilisateurs et applications. Pour les tables volumineuses, cela peut nécessiter une longue durée et une grande quantité d’espace dans le journal des transactions.

Utiliser Transact-SQL

La modification de l’ordre des colonnes n’est pas prise en charge à l’aide d’instructions Transact-SQL. La table doit être supprimée et recréée afin de modifier l’ordre des colonnes.

Remarques

Pour interroger des colonnes existantes, utilisez la vue catalogue d’objet sys.columns.

Étapes suivantes