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

推荐订阅源

Blog — PlanetScale
Blog — PlanetScale
Webroot Blog
Webroot Blog
T
Troy Hunt's Blog
S
Secure Thoughts
S
Security @ Cisco Blogs
S
Security Affairs
Forbes - Security
Forbes - Security
W
WeLiveSecurity
H
Hacker News: Front Page
T
Threatpost
Google Online Security Blog
Google Online Security Blog
S
Schneier on Security
有赞技术团队
有赞技术团队
WordPress大学
WordPress大学
www.infosecurity-magazine.com
www.infosecurity-magazine.com
博客园 - Franky
腾讯CDC
IT之家
IT之家
博客园 - 聂微东
L
LINUX DO - 最新话题
罗磊的独立博客
Hacker News - Newest:
Hacker News - Newest: "LLM"
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 三生石上(FineUI控件)
Hacker News: Ask HN
Hacker News: Ask HN
C
CXSECURITY Database RSS Feed - CXSecurity.com
C
Cybersecurity and Infrastructure Security Agency CISA
C
CERT Recently Published Vulnerability Notes
Know Your Adversary
Know Your Adversary
V
Vulnerabilities – Threatpost
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
博客园_首页
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Cisco Talos Blog
Cisco Talos Blog
S
SegmentFault 最新的问题
酷 壳 – CoolShell
酷 壳 – CoolShell
Hugging Face - Blog
Hugging Face - Blog
L
LINUX DO - 热门话题
美团技术团队
G
GRAHAM CLULEY
T
The Exploit Database - CXSecurity.com
AI
AI
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Jina AI
Jina AI
Help Net Security
Help Net Security
N
News | PayPal Newsroom
月光博客
月光博客
Spread Privacy
Spread Privacy
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
N
News and Events Feed by Topic

博客园 - 克隆

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