发表新主题 回复该帖子
主题:SQL查询索引及主键信息
唧唧
帖子档案  楼主 SQL查询索引及主键信息   Post by : 2010-11-17 16:05:49.0
  • 幼儿园
  • 幼儿园
  • UID:3
  • 主题:342
  • 帖子:781
  • 加为好友 加为好友    发送短信 发送短信
   sql代码
  1. -- 索引及主键信息    
  2. -- 邹建 2005.08(引用请保留此信息)    
  3. -- ========================================================================    
  4. SELECT     
  5.     TableId=O.[object_id],    
  6.     TableName=O.Name,    
  7.     IndexId=ISNULL(KC.[object_id],IDX.index_id),    
  8.     IndexName=IDX.Name,    
  9.     IndexType=ISNULL(KC.type_desc,'Index'),    
  10.     Index_Column_id=IDXC.index_column_id,    
  11.     ColumnID=C.Column_id,    
  12.     ColumnName=C.Name,    
  13.     Sort=CASE INDEXKEY_PROPERTY(IDXC.[object_id],IDXC.index_id,IDXC.index_column_id,'IsDescending')    
  14.         WHEN 1 THEN 'DESC' WHEN 0 THEN 'ASC' ELSE '' END,    
  15.     PrimaryKey=CASE WHEN IDX.is_primary_key=1 THEN N'√'ELSE N'' END,    
  16.     [UQIQUE]=CASE WHEN IDX.is_unique=1 THEN N'√'ELSE N'' END,    
  17.     Ignore_dup_key=CASE WHEN IDX.ignore_dup_key=1 THEN N'√'ELSE N'' END,    
  18.     Disabled=CASE WHEN IDX.is_disabled=1 THEN N'√'ELSE N'' END,    
  19.     Fill_factor=IDX.fill_factor,    
  20.     Padded=CASE WHEN IDX.is_padded=1 THEN N'√'ELSE N'' END    
  21. FROM sys.indexes IDX    
  22.     INNER JOIN sys.index_columns IDXC    
  23.         ON IDX.[object_id]=IDXC.[object_id]    
  24.             AND IDX.index_id=IDXC.index_id    
  25.     LEFT JOIN sys.key_constraints KC    
  26.         ON IDX.[object_id]=KC.[parent_object_id]    
  27.             AND IDX.index_id=KC.unique_index_id    
  28.     INNER JOIN sys.objects O    
  29.         ON O.[object_id]=IDX.[object_id]    
  30.     INNER JOIN sys.columns C    
  31.         ON O.[object_id]=C.[object_id]    
  32.             AND O.type='U'    
  33.             AND O.is_ms_shipped=0    
  34.             AND IDXC.Column_id=C.Column_id    
  35. --    INNER JOIN  -- 对于一个列包含多个索引的情况,只显示第1个索引信息    
  36. --    (    
  37. --        SELECT [object_id], Column_id, index_id=MIN(index_id)    
  38. --        FROM sys.index_columns    
  39. --        GROUP BY [object_id], Column_id    
  40. --    ) IDXCUQ    
  41. --        ON IDXC.[object_id]=IDXCUQ.[object_id]    
  42. --            AND IDXC.Column_id=IDXCUQ.Column_id  
签名
 ★★★★★★★★
 纵里寻她千百度,蓦然回首,那人却在,灯火阑珊处!
 MyBlog :http://blog.javawind.net
返回页面顶部  


CopyRight © 2008-2009 JavaWind.Net Studio All Rights Reserved
Powered By JWind.BBS Vesion 1.0.0 Beta1 Processed in 15 ms,0 (Queries)  Gzip enabled

WAP - 清除Cookies - 联系我们 - JavaWind.Net Studio - Archiver - TOP Valid XHTML 1.0 Transitional Valid CSS! 粤ICP备07511478号