Мне нужно перечислить столбцы из таблицы в порядке определения таблицы:
select * from syscolumns
where id = object_id('MyTable')
--order by colid
Изучая syscolumns
таблицы, две колонки выглядят актуально: colid
и colorder
. В статье MSDN о syscolumns говорится:
colid | smallint | Column or parameter ID.
colorder | smallint | Identified for informational purposes only.
| Not supported. Future compatibility is not guaranteed.
Я пытался бежать
select * from syscolumns where colorder <> colid
что не дало строк, и это заставляет меня думать, что эти столбцы большую часть времени имеют одинаковые значения.
Похоже, что самая безопасная ставка - использовать Colid. Однако мне было бы любопытно узнать: есть ли разница между этими двумя столбцами, и если есть, то какова эта разница?
Также статья MSDN, не подтверждает, что colid отражает порядок определения таблицы. Хотя разумно предположить, что это так, не могли бы вы сообщить мне, если вы уверены, что это так, но откуда вы знаете, что это так?
источник