ฉันต้องการรายการคอลัมน์จากตารางตามลำดับคำจำกัดความของตาราง:
select * from syscolumns
where id = object_id('MyTable')
--order by colid
โดยการตรวจสอบsyscolumns
ตารางสองคอลัมน์มองที่เกี่ยวข้อง: และcolid
บทความ MSDN ใน syscolumnsพูดว่า:colorder
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
ซึ่งไม่ได้ให้แถวและนั่นทำให้ฉันคิดว่าคอลัมน์เหล่านี้มีค่าเหมือนกันเกือบตลอดเวลา
ดูเหมือนว่าการเดิมพันที่ปลอดภัยที่สุดคือการใช้โคลิด อย่างไรก็ตามฉันอยากรู้อยากเห็น: มีความแตกต่างระหว่างสองคอลัมน์นี้และถ้ามีความแตกต่างนี้คืออะไร?
นอกจากนี้บทความ MSDN ไม่ยืนยัน colid ที่สะท้อนถึงลำดับของคำจำกัดความของตาราง แม้ว่าจะมีเหตุผลพอที่จะคิดได้ว่าเป็นกรณีนี้คุณช่วยบอกฉันหน่อยได้ไหมถ้าคุณแน่ใจว่าเป็นอย่างนั้นคุณจะรู้ได้อย่างไรว่าเป็นเช่นนั้น?