[SQL Server] nom des champs d'une table

[SQL Server] nom des champs d'une table Sql lister champs table base Lister les noms des champs d'une table mysql (Résolu) » Forum - Shell [SQL][ORACLE] Liste des champs (Résolu) » Forum - Oracle [SQL SERVER]Foreign key pointant sur 2 tables » Forum - SQL Server [ASP] Récupérer le nom des champs d'une table » Forum - Programmation SQL afichage d un champ de ma table » Forum - Bases de données

bonjour,

je cherche à récupérer la liste des champs d'une table (leur nom uniquement) sur une base MS SQL Server... mais je n'y arrive pas.

Si je fais "sp_columns table" j'obtiens toutes les infos nécessaires mais je n'arrive pas à en extraire le nom des champs (identifiés par la colonne COLUMN_NAME).

j'ai essayé quelque chose dans le genre

select COLUMN_NAME from sp_columns table
mais ça ne marche pas.

A noter qu'il est important que je puisse le faire une UNE SEULE requête. Si vous avez une solution, je suis preneur.

Merci d'avance,

Forum

[SQL Server] nom des champs d'une table Sql lister champs table base Lister les noms des champs d'une table mysql (Résolu) » Forum - Shell [SQL][ORACLE] Liste des champs (Résolu) » Forum - Oracle [SQL SERVER]Foreign key pointant sur 2 tables » Forum - SQL Server [ASP] Récupérer le nom des champs d'une table » Forum - Programmation SQL afichage d un champ de ma table » Forum - Bases de données

Web: www.shapebootstrap.net

19 réponses

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Pour ceux qui sont hors sujets... Arrêter de polluer les réponses et lisez ce que l'on demande exactement!

Sinon pour ce que tu as besoin:

SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME='NomDeLaTable'

Merci Leon 50

Avec quelques mots c'est encore mieux Ajouter un commentaire

CCM a aidé 22503 internautes ce mois-ci

Reply
réponses:
  • auteur

    Il voulais une réponse vis-à-vis de SQL Server et non MySQL

  • auteur

    C exactement ce que cherchais merci

  • auteur

    merci bcp

  • auteur

    Merci pour l'info, pile poil ce qu'il me faut !

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Tu peux taper directement dans les tables système.

Exemple:
select name from syscolumns
where id = (select top 1 id from sysobjects where xtype='U' and name='MATABLE'
order by offset desc

Reply

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

il manque une parenthese fermante a la requete, ce qui donne :
select name from syscolumns
where id = (select top 1 id from sysobjects where xtype='U' and name='MATABLE'
order by offset desc)

Reply
réponses:
  • auteur

    Merci sa aide pour le copier coller ! : )

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

* Cette requête permet d'avoir la liste des tables et des champs par table pour sql server
CREATE VIEW dbo.dvca_catalogue
AS
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS

Reply
réponses:
  • auteur

    Double horreur !
    tu viens de crée une vue sur une vue systéme

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Pour MySQL (avec phpMyAdmin) - J'ai cherché et ce post m'a beaucoup aidé.

il faut saisir

SELECT COLUMN_NAME AS name FROM information_schema.COLUMNS WHERE TABLE_NAME = 'MATABLE' AND TABLE_SCHEMA = 'MONSCHEMA'

Reply
réponses:
  • auteur

    Beaucoup plus simplement concernant MySQL:

    http://dev.mysql.com/doc/refman/5.0/fr/show-columns.html

    typiquement: SHOW COLUMNS FROM maTable;

    Point barre et même virgulé ;)

    Pour être exhaustif, voire généraliste (je sais pas si la fonction n'a pas été portée sur d'autres SGBD), on peut aussi utiliser la commande DESCRIBE (voir la note dans le document à l'adresse indiquée plus haut).

    Non moins typiquement: DESCRIBE maTable;

    Sans savoir où est barré le point, on peut se permettre de le virguler...

    Have fun zazadec :}

  • auteur

    Bonsoir, je voulais remercier Zazadec, car "DESCRIBE" marche, mais ce que je comprend pas, pourquoi SHOW COLUMNS FROM maTable; ne marche pas ???
    Je suis sous Oracle SQL Developer
    et merci encore

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

erratum. fallait lire "j'imposerai que la table ne soit pas vide".

Reply

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Si tu souhaites reccupérer et concaténer la liste des colonnes pour un insérer des données provennat de plusieurs table, voici un autre script :

http://www.xoowiki.com/...

Reply

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

re

j'ai trouvé quelque chose dans le genre

sp_columns @table_name = 'table', @column_name = 'COLUMN_NAME'
mais ça marche pas mieux. théoriquement ça devrait. y-a-t il une erreur de syntaxe ?

merci

Reply

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

salut seb,

merci pour l'idée, j'y ai pensé à un moment mais ceci ne doit pas marcher si la table est vide... et à vrai dire je ne sais pas si elle peut l'être ou non donc dans le doute : )

s'il y a une solution qui marche même lorsque la table est vide, ce serait mieux.

merci quand même. au pire j'imposerai que la table soit vide...

Reply

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

nickel !! merci beaucoup !! je teste ça au bureau demain alors.

Reply

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Non ça marche dès le moment où la table est créée, vide ou non.

Reply

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed