ITPub博客

首页 > 数据库 > 数据库开发技术 > 显示MS-SQL表结构,包括表和列的注释

显示MS-SQL表结构,包括表和列的注释

原创 数据库开发技术 作者:dachu 时间:2007-08-18 16:25:08 0 删除 编辑

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 f on d.ID = f.ID And f.Smallid=0
left join Sysproperties g on a.ID = g.ID And a.Colid = g.Smallid
--Where d.Name='要查询的表'--如果只查询指定表,加上此条件
Where d.Name='@servicecall'
Order By a.ID,a.Colorder

[@more@]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/14490/viewspace-964048/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: SERVER的排序规则
请登录后发表评论 登录
全部评论

注册时间:2010-05-12

  • 博文量
    8
  • 访问量
    17200