SQL Server : comment obtenir les noms de colonne d'une table ?

C'est en interrogeant les tables avec une requête SQL que vous pouvez obtenir les noms des colonnes. Voici comment.

Le système de gestion de bases de données SQL Server est entièrement géré par des tables situées en base de données. Cela inclut la structure des bases de données que vous pouvez créer. Des tables et des vues spécifiques contiennent toutes les informations sur les tables et colonnes contenues dans vos bases de données. C'est en interrogeant ces tables avec une requête SQL que vous pouvez obtenir les noms des colonnes d'une table.

La vue INFORMATION_SCHEMA.COLUMNS réunit l'ensemble des informations sur les colonnes contenues dans une base de données. Elle contient entre autres le nom ou encore le type de la colonne. Pour effectuer une requête à propos d'une table, vous devez utiliser la colonne TABLE_NAME. Dans l'exemple suivant, le caractère N situé devant le nom de la table permet de gérer l'encodage Unicode.

SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = N'maTable'

Si vous n'avez pas besoin du type de la colonne, la table sys.columns contient directement les différentes colonnes de la base de données. La liaison avec la table se fait avec le champ object_id. Pour obtenir l'identifiant correspondant à votre table, vous pouvez faire appel à la fonction OBJECT_ID().

SELECT * FROM sys.columns WHERE object_id = OBJECT_ID('dbo.maTable')