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

...全文
280 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编程语言与Jupyter环境,构建了一套用于光伏发电功率预测的完整解决方案,包含源代码、数据集及详细算法说明,适用于学术研究、课程实践及工程开发等场景。全部代码均经过充分验证,具备良好的可扩展性,具体实施细节可参阅相关文档。 项目核心目标为:基于历史气象预报数据及其对应的光伏发电功率记录,训练预测模型,进而结合未来特定时刻的气象预报信息,估算该时刻的发电功率。 算法设计要点如下: 1. 评估机制剔除了发电功率低于设定阈值的数据样本。根据太阳辐照度与功率阈值之间的关联性,可将数据划分为两类:一类包含辐照度为-1的记录,另一类则排除此类数据。在预测过程,所有低于阈值的输出将被自动修正至阈值水平,以提升预测精度。 2. 通过分析太阳辐射变化模式,推断日出时刻,并将十个电站的地理位置归纳为四个区域:海西、哈密、西宁与乌鲁木齐。借助R语言的OCE工具包,输入时间与地理位置信息,可获取太阳高度角、赤纬角及预估辐照强度等关键特征,并将其整合至数据集。 3. 光伏发电功率表现出明显的日周期与季节波动特性,适宜作为时间序列进行分析。采用Facebook开发的fbprophet时间序列分析工具,对训练数据的时间与功率关系进行建模拟合,从而捕捉其内在规律与趋势变化。 资源来源于网络分享,仅用于学习交流使用,勿用于商业,如有侵权联系我删除!

22,298

社区成员

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

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