获取数据库表字段描述 类型 大小等信息

SELECT   TableName = CASE   
                WHEN a.colorder = 1 THEN d.name  
                ELSE ''  
              END,  
         TableDesc = CASE   
                 WHEN a.colorder = 1 THEN Isnull(f.VALUE,'')  
                 ELSE ''  
               END,  
         ColumnSequence = a.colorder,  
         FieldName = a.name,  
         Flag = CASE   
                WHEN Columnproperty(a.id,a.name,'IsIdentity') = 1 THEN '√'  
                ELSE ''  
              END,  
         --IsPK = CASE 
         --       WHEN EXISTS (SELECT 1  
         --                    FROM   sysobjects  
         --                    WHERE  xtype = 'PK'  
         --                           AND name IN (SELECT name  
         --                                        FROM   sysindexes  
         --                                        WHERE  indid IN (SELECT indid  
         --                                                         FROM   sysindexkeys  
         --                                                         WHERE  id = a.id  
         --                                                                AND colid = a.colid))) THEN '√'  
         --       ELSE ''  
         --     END, /*此处效率偏低,待解决*/
         FieldType = b.name,  
         BitDigit = a.length,  
         Length = Columnproperty(a.id,a.name,'PRECISION'),  
         DecimalDigit = Isnull(Columnproperty(a.id,a.name,'Scale'),0),  
         IsNullable = CASE   
                 WHEN a.isnullable = 1 THEN '1'  
                 ELSE '0'  
               END,  
         DefaultValue = Isnull(e.TEXT,''),  
         ColumnDesc = Isnull(g.[value],'')  
FROM     syscolumns a  
         LEFT JOIN systypes b  
           ON a.xusertype = b.xusertype  
         INNER JOIN sysobjects d  
           ON a.id = d.id  
              AND d.xtype = 'U'  
              AND d.name <> 'dtproperties'  
         LEFT JOIN 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 AND f.name='MS_Description' /*注意此处条件限制*/
where d.name = 'Prd_Product'   
ORDER BY a.id, a.colorder 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文晓武

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值