谈数据库手边系列:SQL Server数据表信息_Mssql数据库教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:解读SQL Server 2005:数据类型最大值
事情开始得很简单。MegaWare公司市场部门想要一个新的网站来发布文档,开发团队觉得使用SQL Server 2000数据库作为文档存储仓库会使事情变得简单。Steve是MegaWare的数据库管理员,没有看出这有什么大问题;在数据库中存储文档,而不是使用文件系统,意味着服

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.xtype=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='要查询的表' --如果只查询指定表,加上此条件
  
  order by a.id,a.colorder
本贴来自天极网群乐社区--http://q.yesky.com/group/review-17563290.html

 

分享:浅谈自定义数据库自动编号初始值和步进值
自定义数据库自动编号初始值和步进值问题: 如何定义数据库的自动编号字段的初始值和步进值?如何定义自动增加字段的初始值和步进值?如何使删除过数据的自动增加字段的开始值重新从1开始? 回答: 通过以下语句,你可以在建表的时候指定其起始值和步进值:CREA

来源:模板无忧//所属分类:Mssql数据库教程/更新时间:2009-08-25
相关Mssql数据库教程