环球网校是美国纳斯达克上市企业欢聚时代(NASDAQ:YY)旗下品牌 | 住房和城乡建设部 建筑人才培训合作单位
您现在的位置在: > 计算机类 > 计算机等级考试 > 考试辅导 >

三级:SQLServer中所有表的列信息显示

2010-06-25 来源:互联网 作者:第一考试网
  将SQL Server中所有表的列信息显示出来:
  SELECT SysObjects.Name as tb_name, SysColumns.Name as col_name,
  SysTypes.Name as col_type, SysColumns.Length as col_len, isnull
  (SysProperties.Value,SysColumns.Name) as col_memo,
  case when SysColumns.name in
  (select 主键=a.name
  FROM syscolumns a
  inner join sysobjects b on a.id=b.id and
  b.xtype='U' and b.name<>'dtproperties'
  where 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
  )))
  and b.name=SysObjects.Name
  )
  then 1 else 0 end as is_key
  FROM SysObjects,SysTypes,SysColumns
  LEFT JOIN SysProperties ON (Syscolumns.Id = Sysproperties.Id AND
  Syscolumns.Colid = Sysproperties.Smallid)
  WHERE (Sysobjects.Xtype ='u' OR Sysobjects.Xtype ='v')
  AND Sysobjects.Id = Syscolumns.Id AND SysTypes.XType = Syscolumns.XType
#

  AND SysTypes.Name <> 'sysname' AND Sysobjects.
  Name Like '%' ORDER By SysObjects.Name, SysColumns.colid

责编: 返回顶部  打印

关于我们联系我们友情链接网站声明网站地图广告服务帮助中心