在SQL Server 2005中查询表结构及索引

free_to_free

free_to_free

2016-01-29 16:24

在SQL Server 2005中查询表结构及索引,在SQL Server 2005中查询表结构及索引
 

在 SQL Server 2005 中查询表结构及索引
-- 1. 表结构信息查询
-- ===================================================
-- 表结构信息查询
-- 邹建 2005.08(引用请保留此信息)
-- ====================================================
SELECT
    TableName=CASE WHEN C.column_id=1 THEN O.name ELSE N'' END,
    TableDesc=ISNULL(CASE WHEN C.column_id=1 THEN PTB.[value] END,N''),
    Column_id=C.column_id,
    ColumnName=C.name,
    PrimaryKey=ISNULL(IDX.PrimaryKey,N''),
    [IDENTITY]=CASE WHEN C.is_identity=1 THEN N'√'ELSE N'' END,
    Computed=CASE WHEN C.is_computed=1 THEN N'√'ELSE N'' END,
    Type=T.name,
    Length=C.max_length,
    Precision=C.precision,
    Scale=C.scale,
    NullAble=CASE WHEN C.is_nullable=1 THEN N'√'ELSE N'' END,
    [Default]=ISNULL(D.definition,N''),
    ColumnDesc=ISNULL(PFD.[value],N''),
    IndexName=ISNULL(IDX.IndexName,N''),
    IndexSort=ISNULL(IDX.Sort,N''),
    Create_Date=O.Create_Date,
    Modify_Date=O.Modify_date
FROM sys.columns C
    INNER JOIN sys.objects O
        ON C.[object_id]=O.[object_id]
            AND O.type='U'
            AND O.is_ms_shipped=0
    INNER JOIN sys.types T
        ON C.user_type_id=T.user_type_id
    LEFT JOIN sys.default_constraints D
        ON C.[object_id]=D.parent_object_id
            AND C.column_id=D.parent_column_id
            AND C.default_object_id=D.[object_id]
    LEFT JOIN sys.extended_properties PFD
        ON PFD.class=1
            AND C.[object_id]=PFD.major_id
            AND C.column_id=PFD.minor_id
--             AND PFD.name='Caption'  -- 字段说明对应的描述名称(一个字段可以添加多个不同name的描述)
    LEFT JOIN sys.extended_properties PTB
        ON PTB.class=1
            AND PTB.minor_id=0
            AND C.[object_id]=PTB.major_id
--             AND PFD.name='Caption'  -- 表说明对应的描述名称(一个表可以添加多个不同name的描述)

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/sqlserver/)

    LEFT JOIN                       -- 索引及主键信息
    (
        SELECT
            IDXC.[object_id],
            IDXC.column_id,
            Sort=CASE INDEXKEY_PROPERTY(IDXC.[object_id],IDXC.index_id,IDXC.index_column_id,'IsDescending')
                WHEN 1 THEN 'DESC' WHEN 0 THEN 'ASC' ELSE '' END,
            PrimaryKey=CASE WHEN IDX.is_primary_key=1 THEN N'√'ELSE N'' END,
            IndexName=IDX.Name
      &nb

展开更多 50%)
分享

猜你喜欢

在SQL Server 2005中查询表结构及索引

SQLServer
在SQL Server 2005中查询表结构及索引

在SQL Server 2005中实现表的行列转换

编程语言 网络编程
在SQL Server 2005中实现表的行列转换

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

sql server 2005中的表分区

SQLServer
sql server 2005中的表分区

SQL Server中索引使用及维护

SQLServer
SQL Server中索引使用及维护

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

SQL Server 索引结构及其使用(二)

SQLServer
SQL Server 索引结构及其使用(二)

SQL Server 索引结构及其使用(四)

编程语言 网络编程
SQL Server 索引结构及其使用(四)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

photoshop教程:合成圆月枯树乌鸦恐怖城堡

photoshop教程:合成圆月枯树乌鸦恐怖城堡

如何在把超过固定长度的文字以……表示

如何在把超过固定长度的文字以……表示
下拉加载更多内容 ↓