Modifier l’ordre des colonnes dans une table
S’applique à : SQL Server 2016 (13.x) et versions ultérieures Base de données Azure SQL Azure SQL Managed Instance Analytics Platform System (PDW)
Vous pouvez modifier l’ordre des colonnes dans le Concepteur de tables 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 qu’il 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
SELECT *
dans les applications. Les colonnes ajoutées ou supprimées peuvent entraîner un comportement ou des erreurs inattendus 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. Prenez toutes les précautions nécessaires avant de changer l’ordre des colonnes.
Utiliser SQL Server Management Studio
Changer l'ordre des colonnes
Bien que cela ne soit pas recommandé, vous pouvez modifier l’ordre des colonnes d’une table à l’aide de SQL Server Management Studio (SSMS). Pour ce faire, il faut recréer la table.
Important
Utilisez toujours la dernière version de SQL Server Management Studio (SSMS).
Dans l’Explorateur d’objets, cliquez avec le bouton droit sur la table dont vous souhaitez réorganiser les colonnes et sélectionnez Conception.
Sélectionnez la case à gauche du nom de la colonne à réordonner.
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 ce type de modifications en étant pleinement conscient de leur impact, en suivant les étapes de Transact-SQL qui prennent en compte 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 de journal des transactions.
Utiliser Transact-SQL
La modification de l’ordre des colonnes n’est pas prise en charge par les instructions Transact-SQL. La table doit être supprimée et recréée afin de modifier l’ordre des colonnes.
Notes
Pour interroger des colonnes existantes, utilisez la vue catalogue d’objet sys.columns.