实际开发中经常为数据字段备注而烦恼,为此写了如下存储过程,一方便查看数据库备注信息.

 1
 2 create proc [dbo].[GenerateDataDictionaryByTableName]
 3 @tableName  nvarchar(255)
 4 as
 5 begin
 6 --获取数据表名
 7 declare  @tableid int
 8 declare mycursor Cursor
 9 for select object_id from sys.objects where type='U' and  name<>'dtproperties' and name LIKE '%'+ @tableName+'%'
10 --获取字段名称、标识、字段序号、占用字节数、小数位数、允许空等
11 open mycursor
12 fetch next from mycursor into @tableid
13 while(@@fetch_status=0)
14 begin
15     SELECT object_name(@tableid) AS 表名,VALUE AS 表说明 FROM sys.extended_properties
16     WHERE NAME='MS_Description' AND MAJOR_ID=@tableid AND MINOR_ID=0;
17     select
18         col.colorder 字段序号,
19         col.name 字段名,
20         t.name 类型,
21         col.length 占用字节数,
22         COLUMNPROPERTY(col.id,col.name,'PRECISION') as 长度,
23         isnull(COLUMNPROPERTY(col.id,col.name,'Scale'),0) as 小数位数,
24         (case when
25             (SELECT count(*)
26                 FROM sysobjects
27                 WHERE (name in
28                     (SELECT name
29                         FROM sysindexes
30                         WHERE (id = col.id)
31                             AND (indid in
32                                     (SELECT indid
33                                      FROM sysindexkeys
34                                      WHERE (id = col.id) AND (colid in
35                                             ( SELECT colid
36                                               FROM syscolumns
37                                               WHERE (id = col.id)
38                                                     AND (name = col.name)
39                                               ))
40                                      )
41                                   )
42                    )) AND
43                    (xtype = 'PK')
44               )>0
45          then '√' else '' end) 主键,
46         (case when COLUMNPROPERTY(col.id,col.name,'IsIdentity')=1 then '√'else '' end) 标识,
47         (case when col.isnullable=1 then '√'else '' end) 允许空,
48         isnull(expro.[value],'') AS 字段说明
49     from sys.syscolumns as col
50     left join sys.systypes as t on col.xtype = t.xusertype
51     left join sys.extended_properties as expro on col.id=expro.major_id AND col.colid = expro.minor_id
52     where id = @tableid
53     fetch next from mycursor into @tableid
54 end
55 close mycursor
56 deallocate mycursor
57 end

  在需要查看指定表描述时,输入如下语句:

exec [GenerateDataDictionaryByTableName] N'T_INTE_'

该存储过程会搜索当前数据库中表名包含传入的参数字符串,并返回符合条件的所有表的备注信息。如下返回形如:

  

转载于:https://www.cnblogs.com/Silicon-Fado/archive/2009/08/25/1553530.html

SQL 2005 字段备注获取相关推荐

  1. Oracle添加字段备注以及查询

    环境 win7 oracle Pl/SQL 准备 一张表 `LYZ_ZJQH_BB` 表中有字段 --查看创建表 lyz_zjqh_bb select * from lyz_zjqh_bb; 一.添加 ...

  2. mysql 看表字段的备注,使用SQL查询表字段列的备注信息

    使用SQL查询表字段列的备注信息 用下面的视图: SQL> desc user_col_comments; Name                            Null?    Ty ...

  3. java解析sql查询字段_sql解析json格式字段 如何获取json中某个字段的值?

    java将json数据解析为sql语句?小编给你倒一杯热水.可你惦记着其他饮料,所以你将它放置一旁.等你想起那杯水时,可惜它已经变得冰冷刺骨. 图片中是json数据,每个数据的开头都有表名称,操作类型 ...

  4. Oracle怎么获取json类型字符串值,sql解析json格式字段 如何获取json中某个字段的值?...

    java将json数据解析为sql语句?小编给你倒一杯热水.可你惦记着其他饮料,所以你将它放置一旁.等你想起那杯水时,可惜它已经变得冰冷刺骨. 图片中是json数据,每个数据的开头都有表名称,操作类型 ...

  5. sql server 字段 插入备注

    sql server 插入字段 ALTER table 表名 add 字段  类型 ; 插入user表  username 字段: ALTER table user  add username  VA ...

  6. MySQL数据通过SQL查询指定数据表的字段名及字段备注

    MySQL数据通过SQL查询指定数据表的字段名及字段备注 SELECT COLUMN_NAME,COLUMN_COMMENT FROM INFORMATION_SCHEMA.Columns WHERE ...

  7. 达梦、Oracle、PostgreSQL查询全部表备注,表字段,全部字段备注,全部索引,全部字段类型

    文章目录 一 概述 二 PostgreSQL PS:最佳版本查询表英文名.表中文名.字段英文名.字段中文名.字段类型.schemaname.tableowner(此为最好版本NO1) 1 查询所有表名 ...

  8. sql 2005基础语法总结

    sql 2005基础语法总结 目录 基础查询... 4 Select语句查询.... 4 1.查询单列数据... 4 2查询所用列数据... 4 3.查询指定的列数据... 4 4.在查询时使用别名. ...

  9. Hibernate hql 查询指定字段并获取结果集

    Hibernate hql 查询指定字段并获取结果集 在hibernate中,用hql语句查询实体类,采用list方法的返回结果为一个List,该List中封装的对象分为以下三种情况: 1.查询全部字 ...

最新文章

  1. docker 部署redis
  2. 基础: 一、Android环境搭建
  3. antd表格显示分页怎么取消_真相!Word里怎么也删不掉的文档空白页原来是这样...
  4. [原创]group by和compute 的使用
  5. Express简单路由使用
  6. 多线程 简单的实现案例
  7. [emuch.net]MatrixComputations(7-12)
  8. sklearn 之 One-Class SVM的使用示例与解析
  9. java内网_Java版开源的内网映射工具
  10. C语言课设家庭财务小管家(大作业)
  11. 综合影响力模型InfG算法
  12. c语言操作符的自我总结hhhhhhhhh
  13. python 抓取头条街拍图片
  14. Android设置WIFI静态IP
  15. use glyphs icons
  16. 64位Ubuntu系统安装Chrome浏览器
  17. GraphQL学习第三篇 -在Express中使用GraphQL
  18. 电子商务网站用户行为分析及服务推荐
  19. oracle中英文文献,库存管理外文文献及中英文翻译.doc
  20. 页面报错405了怎么办

热门文章

  1. html session登陆验证,原创 实现session登陆时间的验证,验证用户登录页面的一个监听器...
  2. matlab 直方图 肥尾,概率分布细谈:厚尾、长尾、幂律、指数
  3. 学习编程你要记住以下几点
  4. python调用r语言加载包错误_Python中调用R语言包指南.docx
  5. web 前端绘制折线_html5绘制折线图
  6. MyBatis框架parameterType为哈希类型的别名映射和resultMap映射
  7. 20211130:力扣第267周周赛(下)
  8. xftp6无法使用处理
  9. html中使用js、jQuery展示页面小结
  10. BUS HOUND调试USB驱动遇到的错误代码解析