如何用SQL语句取得数据库sql2005中的所有数据表中每一个字段的描述信息呢?(高手请进入!!)

zhbzspqxl2 2006-03-15 10:08:51


方法一:
SELECT

表名=case when a.colorder=1 then d.name 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

where g.name='MS_Description'

order by a.id,a.colorder

//////////////

网上查的,上面的程序在SQL2005下不能执行,主要是找不到sysproperties
以下为提示信息:
Msg 208, Level 16, State 1, Line 1
Invalid object name 'dbo.sysproperties'.


方法二:
在VS2005中用类示GetSchemaTable(),有很多表的结构信息,却没有字段的描述信息Description,
可我要的就是字段的描述信息啊!!

难到SQL2005就找不出数据字典中的字段描述吗?

...全文
302 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
netcoder 2006-03-23
  • 打赏
  • 举报
回复
象sysproperties这样无正式文档记载的系统表还是不要用的好,
很有可能在SQL Server的新版本或者补丁正不在支持,在SQL 2005中使用sys.extended_properties

--修改后如下

SELECT
表名=case when a.colorder=1 then d.name 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 d.id=g.major_id and a.colid=g.minor_id
--取消下面的注释则只返回有描述的字段
--where g.name='MS_Description'

order by a.id,a.colorder
zhbzspqxl2 2006-03-15
  • 打赏
  • 举报
回复
up
内容概要|本宝典系统梳理了初级人工智能工程师面试的全部核心模块,涵盖六大知识领域:数学基础(梯度下降、线性代数、概率论)、编程与工具(Python、NumPy、PyTorch、HuggingFace)、机器学习(监督/无监督/强化学习、逻辑回归、XGBoost、特征工程、交叉验证)、深度学习与大模型热点(Transformer、ROPE、GQA、LoRA/QLoRA、RAG、解码策略、多模态、RLHF/DPO、Agent、推理优化)、项目经验(STAR法则、数据清洗、不平衡处理、模型选型、性能优化、大厂高频追问)以及综合素养与职业规划(职业动机、学习能力、团队协作、3-5年规划、行业趋势)。全文配有大量可直接运行的代码示例、详细注释及面试话术,总计超过6万字,覆盖从理论到实践、从算法到工程、从个人能力到职业发展的完整面试准备链路。|适用人群|准备求职大厂(字节、阿里、腾讯、百度等)初级人工智能工程师岗位的应届毕业生、转行AI的开发者、1-3年经验希望系统提升面试能力的在职工程师,以及需要带新人的技术面试官或培训导师。|使用场景|①面试前系统复习:按模块查漏补缺,快速掌握高频考点与答题逻辑;②模拟面试训练:利用项目深挖问题和大厂高频追问进行自测或互测;③项目复盘优化:参照项目经验模块优化个人简历的项目描述,提升STAR表达质量;④日常学习参考:将代码示例直接运行调试,深入理解算法原理与工程实现;⑤内部培训材料:作为团队新人培养或面试题库建设的参考资料。|目标|帮助读者在最短时间内构建系统化的AI知识体系,掌握大厂面试的答题框架与追问应对技巧,具备独立讲解项目、优化模型、解决实际问题的能力,最终顺利通过初级人工智能工程师的技术面试与综合素质评估,获得理想的职业起点。同时,通过持续的学习与反思,培养工程师的成长思维与行业洞察力,为未来向级、高级岗位进阶奠定坚实基础。

22,295

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧