通过查询系统表得到纵向的表结构

-- 如果是要得到纵向的表结构,可以查询系统表

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  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 ,
类型
= 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 ] , '' )
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  sysproperties g  on  a.id = g.id  and  a.colid = g.smallid  
left   join  sysproperties f  on  d.id = f.id  and  f.smallid = 0
-- where d.name='orders'    --如果只查询指定表,加上此条件
order   by  a.id,a.colorder
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值