SQL2005 SQL2008 表结构信息查询升级版(含外键信息)

来源:互联网 发布:c语言空白字符 编辑:程序博客网 时间:2024/05/18 10:19

SELECT

    表名=CASE WHEN a.colorder = 1 THEN d.name ELSE '' END,

    表说明=CASE WHEN a.colorder = 1 THEN isnull(f.value, '') ELSE '' END ,

    字段序号=a.colorder ,

    字段名=a.name ,

    标识=CASE WHEN COLUMNPROPERTY(a.id, a.name, 'IsIdentity') = 1 THEN '√' ELSE '' END ,

    主键=CASE WHEN EXISTS (

              SELECT 1

              FROM dbo.sysindexes si

                  INNER JOIN dbo.sysindexkeys sik ON si.id = sik.id AND si.indid = sik.indid

                  INNER JOIN dbo.syscolumns sc ON sc.id = sik.id AND sc.colid = sik.colid

                  INNER JOIN dbo.sysobjects so ON so.name = so.name AND so.xtype = 'PK'

              WHERE sc.id = a.id AND sc.colid = a.colid) THEN '√'

              ELSE ''

         END ,

     外键=CASE WHEN tony.fkey is not null and tony.fkey=a.colid THEN '√' ELSE '' END ,

     外键表=CASE WHEN tony.fkey is not null and tony.fkey=a.colid

                THEN object_name(tony.fkeyid) ELSE ''

           END ,

     外键字段=CASE WHEN tony.fkey is not null and tony.fkey=a.colid

                 THEN (SELECT name FROM syscolumns

                       WHERE colid=tony.fkey AND id=tony.fkeyid)      

                 ELSE ''

             END,

     类型=b.name ,

     长度=a.length ,

     精度=COLUMNPROPERTY(a.id, a.name, 'PRECISION') ,

     小数位数=ISNULL(COLUMNPROPERTY(a.id, a.name, 'Scale'), 0) ,

     允许空=CASE WHEN a.isnullable = 1 THEN '√' ELSE '' END ,

     默认值= ISNULL(e.text, ''),

     字段说明=ISNULL(g.[value], ''),

     创建时间=d.crdate,

     更改时间=CASE WHEN a.colorder = 1 THEN d.refdate ELSE NULL END

FROM dbo.syscolumns a

    LEFT JOIN dbo.systypes b ON a.xtype = b.xusertype

    INNER JOIN dbo.sysobjects d ON a.id = d.id AND d.xtype = 'U' AND d.status >= 0

    LEFT JOIN dbo.syscomments e ON a.cdefault = e.id

    LEFT JOIN sys.extended_properties g ON a.id = g.major_id AND a.colid = g.minor_id

    LEFT JOIN sys.extended_properties f ON d.id = f.major_id AND f.minor_id = 0 

    LEFT JOIN sysobjects htl ON htl.parent_obj=d.id AND htl.xtype='F'

    LEFT JOIN sysforeignkeys tony on htl.id=tony.constid

WHERE d.name='tb'  --这里输入包含表名称的条件

ORDER BY d.id, a.colorder

 

 

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 理财回执单丢失怎么办 理财回单丢了怎么办 杭州市老年优待卡怎么办 网络连接不到服务器怎么办 即时库存有负数怎么办 电脑软件被拦截怎么办 超市无条码商品怎么办 场外期权有诈骗怎么办 ip地址访问受限怎么办 电脑ip地址受限怎么办 百度云资源打不开怎么办 百度网盘看文件字太小怎么办 密码输入三次错误怎么办 notes邮箱满了怎么办 小米8买不到怎么办 小米付款不发货怎么办 小米金融还款中怎么办 股票遇到闪崩怎么办 微信插件没有怎么办 excel打印太小怎么办 工地临时人员死亡怎么办 哺乳期乳腺增生疼怎么办 哺乳期有乳腺增生怎么办 哺乳期得了乳腺增生怎么办 中等教育认证花名册丢失怎么办 哺乳期囊性结节怎么办 乳腺增生堵奶怎么办 月子期乳房增生怎么办 母乳期乳腺增生怎么办 上市公司破产了股票怎么办 iptv错误码30022怎么办 电信iptv不清晰怎么办 电信iptv卡顿怎么办 pr滚动字幕闪烁怎么办 电视车表盘看不清怎么办 图片字看不清楚怎么办 字太潦草看不清怎么办 微信图片看不清怎么办 小车上坡没动力怎么办 上海牌照拍到了怎么办 杭州车牌摇不到怎么办