SQL2005 查询表字段信息(是否标示列 字段名 主键 字段类型 长度 小数位 允许空 默认值 说明)

转载自:jacky4955的专栏

  1.     版本号:    2009-5-31  
  2.     作   者:  叮叮猫  
  3.     适用环境:   SQL2005或2005以上  
  4.     适用情景:  例如你是进入公司的,或者这个数据库你已经很久没有看过了忘记里面字段的用途,  
  5.     但是你又必须对这个公司的数据里面的数据库不甚了解  
  6.     你想了解这个数据库的字段的一些说明 你就需要使用他了。当然前提条件是他的字段里面  
  7.     有这个字段的相关说明    
  8. */ SELECT   
  9. (case  when a.colorder=1 then d.name  else   ''  end)  as  表名,--如果表名相同就返回空  
  10.     a.colorder as  字段序号,  
  11.     a.name as  字段名,  
  12.     (case  when COLUMNPROPERTY( a.id,a.name, 'IsIdentity' )=1 then  '√' else   ''  end)  as  标识,  
  13.     (case  when (SELECT count(*) FROM sysobjects--查询主键  
  14.                     WHERE (name in   
  15.                             (SELECT name FROM sysindexes   
  16.                             WHERE (id = a.id)  AND (indid in   
  17.                                     (SELECT indid FROM sysindexkeys  
  18.                                       WHERE (id = a.id) AND (colid in   
  19.                                         (SELECT colid FROM syscolumns  
  20.                                         WHERE (id = a.id) AND (name = a.name))  
  21.                         )))))   
  22.         AND (xtype = 'PK' ))>0 then  '√'   else   ''  end)  as  主键,--查询主键END  
  23. b.name as  类型,  
  24. a.length as  占用字节数,  
  25. COLUMNPROPERTY(a.id,a.name,'PRECISION'as   长度,  
  26. isnull(COLUMNPROPERTY(a.id,a.name,'Scale' ),0)  as  小数位数,  
  27. (case  when a.isnullable=1 then  '√' else   ''  end)  as  允许空,  
  28. isnull(e.text,''as  默认值,  
  29. isnull(g.[value],'' ) AS 字段说明   
  30. FROM syscolumns a left join systypes b   
  31. on a.xtype=b.xusertype  
  32. inner join sysobjects d   
  33. on a.id=d.id and d.xtype='U'  and d.name<> 'dtproperties'   
  34. left join syscomments e  
  35. on a.cdefault=e.id  
  36. left join sys.extended_properties g  
  37. on a.id=g.major_id AND a.colid = g.minor_id   
  38.     where d.name='PE_U_ValliMessage' --所要查询的表  
  39. order by a.id,a.colorder  
  40.   
  41. select * from sys.extended_properties--字段信息表  
  42. select * from syscolumns--表字段信息表  
  43. select * from sysobjects where sysobjects.type='u'  --数据库所有的用户创建的表的信息  
  44. select * from sysobjects where sysobjects.type='s'  --数据库所有的系统表的信息  
  45. select * from syscomments --所有的触发器的东西  
  46. --COLUMNPROPERTY 返回有关列或过程参数的信息 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值