SqlServer教程

【已解决】SQL server查找指定表的所有索引

本文主要是介绍【已解决】SQL server查找指定表的所有索引,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

SQL server查找指定表的所有索引

WITH    tmp
          AS ( SELECT   indexname = a.name ,
                        tablename = c.name ,
                        indexcolumns = d.name ,
                        a.indid
               FROM     sysindexes a
                        JOIN sysindexkeys b ON a.id = b.id
                                               AND a.indid = b.indid
                        JOIN sysobjects c ON b.id = c.id
                        JOIN syscolumns d ON b.id = d.id
                                             AND b.colid = d.colid
               WHERE    a.indid NOT IN ( 0, 255 )  
-- and   c.xtype='U'   and   c.status>0 -- 查所有用户表
                        AND c.name = 'T_Houses' --查指定表
             )
    SELECT  tmp.indexname '索引名称' ,
            tmp.tablename '表名' ,
            ( SELECT    A.indexcolumns + ','
              FROM      tmp A
              WHERE     A.indexname = tmp.indexname
                        AND A.indid = tmp.indid
            FOR
              XML PATH('')
            ) AS '索引列' ,
            tmp.indid '索引id'
    FROM    tmp
    GROUP BY tmp.indexname ,
            tmp.tablename ,
            tmp.indid

在这里插入图片描述
记得替换需要查找所有索引的表哦

问题解决
End

这篇关于【已解决】SQL server查找指定表的所有索引的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!