如何用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就找不出数据字典中的字段描述吗?

...全文
309 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
代码下载地址: https://pan.quark.cn/s/2166cb9b6d6a Logstash 被视为一种功能强大的数据处理平台,它能够进行日志、事件以及其他类型数据的采集、解析、筛选和传输。在信息技术领域,Logstash 拥有举足轻重的地位,因为它使得系统管理员和开发者可以高效地监控和分析系统日志,进而增强监控能力,简化故障诊断过程,并促进大数据分析的应用。在着手设置 Logstash 开发环境之前,务必确认已经部署了 Java 运行环境,因为 Logstash 是基于 Java 技术构建的。获取 Java Development Kit (JDK) 是一个关键步骤,用户可以从 Oracle 官方站点获取与其操作系统相匹配的版本。命令行的 "sudo ./bin/logstash" 指令用于在 Linux 系统启动 Logstash 服务。"sudo" 用于提升命令执行权限,而 "./bin/logstash" 则指向 Logstash 可执行文件的存储路径。倘若环境变量配置得当,用户也可以直接运用 "logstash" 命令来启动服务。Logstash 的设置通常由三个核心部分构成:输入(input)、过滤(filter)以及输出(output)。输入模块负责从多种来源搜集数据,比如文件系统、网络端口或数据库系统。过滤模块则对所采集的数据进行操作,包括解析、格式转换或数据清洗。输出模块将经过处理的数据发送至指定的目的地,例如 Elasticsearch、Kibana、文件系统或者 syslog 服务器等。以下提供了一个基础的 Logstash 配置范例,说明了如何从指定的日志文件读取信息并将其存储在 Elasticsearch :```c...
内容概要:本文研究了在复杂山地环境下,基于遗传算法(GA)实现无人机三维路径规划的方法,并利用Matlab进行代码实现与仿真验证。通过构建符合实际地形的三维环境模型,结合无人机飞行约束条件(如最大爬升角、最小转弯半径、安全飞行高度等),设计适应度函数以综合考量路径长度、飞行能耗、地形规避与安全性等因素。遗传算法通过选择、交叉和变异操作不断迭代优化种群,最终生成一条从起点到终点的全局最优或近似最优三维飞行路径。研究结果表明,该方法能够在地形起伏剧烈的山地环境有效避开障碍物,规划出平滑、安全且高效的飞行路线,具备较强的环境适应性与工程应用潜力。; 适合人群:具备一定Matlab编程基础和优化算法知识的高校学生、科研人员及从事无人机路径规划、智能交通、机器人导航等相关领域的工程技术人员。; 使用场景及目标:①解决复杂非结构化地形(如山区、峡谷)的无人机自主导航问题;②为应急救援、地质勘探、电力巡检等实际任务提供安全可靠的飞行路径支持;③学习和掌握遗传算法在组合优化问题的具体应用流程与实现技巧。; 阅读建议:建议读者结合Matlab代码深入理解算法实现细节,重点关注环境建模、适应度函数设计以及遗传操作参数设置对最终路径性能的影响,可通过调整参数或引入其他优化策略(如与A*算法 hybrid)进一步提升算法性能。

22,297

社区成员

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

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