下面的查询创建了一个列表,其中包含数据库中所有索引名称以及作为该索引一部分的每个列。有人能告诉我如何确定该列是按升序还是降序排序的吗?
SELECT ind.name as index_name ,
t.[name] as table_name ,
col.name as column_name ,
ic.index_column_id as index_column_id
FROM [GDI-193-DEV].sys.indexes ind
INNER JOIN [GDI-193-DEV].sys.index_columns ic
ON ind.object_id = ic.object_id and ind.index_id = ic.index_id
INNER JOIN [GDI-193-DEV].sys.columns col
ON ic.object_id = col.object_id and ic.column_id = col.column_id
INNER JOIN [GDI-193-DEV].sys.tables t
ON ind.object_id = t.object_id
WHERE ind.is_primary_key = 0 AND ind.is_disabled = 0
ORDER BY
t.name, ind.name, ind.index_id, ic.index_column_id
谢谢! Matt
ORDER BY
子句末尾添加ASC
或DESC
。 - user1864610index_column_id
不是关键字中列的顺序,而是表中的顺序!请使用key_ordinal
。 - Michel de Ruiter