a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 42|回复: 0

[数据库] 将SQLServer中所有表的列信息显示出来

[复制链接]
发表于 2012-7-31 21:12:12 | 显示全部楼层 |阅读模式
  将SQL Server中所有表的列信息显示出来:: Z( l/ U4 S+ d
  SELECT SysObjects.Name as tb_name, SysColumns.Name as col_name,% r- {& G* l- Z! C
  SysTypes.Name as col_type, SysColumns.Length as col_len, isnull  j4 z7 y5 f, s" g! s2 `
  (SysProperties.Value,SysColumns.Name) as col_memo,$ r% ~" D- s3 H% F8 u5 _3 u
  case when SysColumns.name in
. K, F8 S! C) E( f; Z" ~; X  (select 主键=a.name
. r9 k% a8 x1 _3 H; H) c  FROM syscolumns a4 u0 ]  ?- @: _! ?  e
  inner join sysobjects b on a.id=b.id and
! K; S" ^/ e9 f6 p  b.xtype='U' and b.name'dtproperties'
. }8 b: F( ^$ P' F1 I: Z  where exists(SELECT 1 FROM sysobjects where xtype='PK' and name in (
7 x4 _" m/ \/ d& [8 S  SELECT name FROM sysindexes WHERE indid in(; W7 n# w0 Z, |7 q( ^' J
  SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid
5 ?  Y" M  q% b( Q  )))$ B* n7 I! x4 k! H5 `5 X. Z
  and b.name=SysObjects.Name
4 v0 h" P) q2 q  )( o' L; T+ e& u. u* g
  then 1 else 0 end as is_key
2 c* F3 l5 x' n. s( W  FROM SysObjects,SysTypes,SysColumns+ E" ~4 ^9 k$ }7 t0 |' x  Z
  LEFT JOIN SysProperties ON (Syscolumns.Id = Sysproperties.Id AND
- o/ W$ v! I# s, ?  Syscolumns.Colid = Sysproperties.Smallid)
0 M: g3 t* m; n; [  WHERE (Sysobjects.Xtype ='u' OR Sysobjects.Xtype ='v')1 X9 G4 S( w5 V
  AND Sysobjects.Id = Syscolumns.Id AND SysTypes.XType = Syscolumns.XType/ j. Z9 L* ?) v) u
  AND SysTypes.Name  'sysname' AND Sysobjects.
9 g8 |9 ]- d; V  Name Like '%' ORDER By SysObjects.Name, SysColumns.colid
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-18 18:55 , Processed in 0.371092 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表