惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

W
WeLiveSecurity
Jina AI
Jina AI
博客园 - 司徒正美
雷峰网
雷峰网
宝玉的分享
宝玉的分享
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园_首页
WordPress大学
WordPress大学
Google DeepMind News
Google DeepMind News
GbyAI
GbyAI
MyScale Blog
MyScale Blog
Apple Machine Learning Research
Apple Machine Learning Research
美团技术团队
I
InfoQ
博客园 - Franky
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
博客园 - 叶小钗
阮一峰的网络日志
阮一峰的网络日志
Cyberwarzone
Cyberwarzone
C
CXSECURITY Database RSS Feed - CXSecurity.com
S
Schneier on Security
P
Privacy & Cybersecurity Law Blog
T
Threatpost
Cloudbric
Cloudbric
D
Docker
M
MIT News - Artificial intelligence
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Vercel News
Vercel News
Martin Fowler
Martin Fowler
J
Java Code Geeks
AWS News Blog
AWS News Blog
The Cloudflare Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
L
Lohrmann on Cybersecurity
Hacker News: Ask HN
Hacker News: Ask HN
Last Week in AI
Last Week in AI
S
Security @ Cisco Blogs
Help Net Security
Help Net Security
C
Cisco Blogs
V
V2EX
博客园 - 【当耐特】
I
Intezer
爱范儿
爱范儿
F
Fortinet All Blogs
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
P
Privacy International News Feed
IT之家
IT之家
L
LINUX DO - 最新话题
B
Blog RSS Feed
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO

博客园 - 克隆

SVN快速入门(TSVN) C# HttpWebRequest提交数据方式浅析 简单的3个SQL视图搞定所有SqlServer数据库字典 简单统计SQLSERVER用户数据表大小(包括记录总数和空间占用情况) 敏捷开发Scrum 学习笔记,适于移动开发 团队的职责和任务之间的关系 精心收集的jQuery常用的插件1000 24款超实用的Web 2.0风格翻页代码 【转】使用 Entity Framework + ListView + DataPager 实现数据分页 (转)ASP.NET页面打印技术的总结 [转]数据库设计 Step by Step (5) [转]jquery插件弹出div SQL HierarchyID 数据类型 OSWorkflow表结构分析 javascript动态创建VML [转]由于项目原因看了一下vml,写了一个Web工作流的设计器雏形! VML流程图 启用IIS的Gzip压缩 IIS压缩
SQLServer2008/2005 生成数据字典SQL语句
克隆 · 2011-04-14 · via 博客园 - 克隆

以前用那个SQL语句来生成那个SQLServer库的数据字典,在SQL2000下用的挺好的,最近装上了那个SQL2008来研究,

突然发现不能在2008下用了,查了查资料,发现2008下有一些改动

贴上来留个记号

SQLServer2008/2005 生成数据字典语句 

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   sys.extended_properties g   on   a.id=g.major_id   and   a.colid=
g.minor_id          
  
left   join   sys.extended_properties f   on   d.id=f.major_id   and   f.minor_id   =0
   
  
--where   d.name='要查询的表'         --如果只查询指定表,加上此条件   

  order   by   a.id,a.colorder   

以前的SQL2000下的语句

就改动了个sysproperties


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