J'ai besoin de lister les colonnes d'une table dans l'ordre de définition de la table:
select * from syscolumns
where id = object_id('MyTable')
--order by colid
En examinant les syscolumns
tableaux, deux colonnes semblent pertinentes: colid
et colorder
. L'article MSDN sur syscolumns dit:
colid | smallint | Column or parameter ID.
colorder | smallint | Identified for informational purposes only.
| Not supported. Future compatibility is not guaranteed.
J'ai essayé de courir
select * from syscolumns where colorder <> colid
qui n'a donné aucune ligne, et cela me fait penser que ces colonnes ont la même valeur la plupart du temps.
Il semble que le pari le plus sûr consiste à utiliser colid. Cependant je serais curieux de savoir: y a-t-il une différence entre ces deux colonnes, et si c'est le cas, quelle est cette différence?
L'article MSDN ne confirme pas non plus que colid reflète l'ordre de la définition de la table. Bien qu'il soit raisonnable de supposer que c'est le cas, pourriez-vous s'il vous plaît me le faire savoir, si vous êtes sûr que c'est le cas, comment savez- vous que c'est le cas?
la source