设为首页 收藏本站
查看: 612|回复: 0

[经验分享] SQL Server表和字段的说明

[复制链接]
YunVN网友  发表于 2015-6-28 11:58:06 |阅读模式
1. 增加字段说明
EXEC sp_addextendedproperty
     'MS_Description',
     'some description',
     'user',
       dbo,
     'table',
       table_name,
     'column',
       column_name
  

  • Some Description , 是要增加的说明内容
  • table_name, 是表名
  • column_name , 是字段名

  
2. 增加表的说明
EXEC sp_addextendedproperty
     'MS_Description',
     'some description',
     'user',
       dbo,
     'table',
       table_name
  
参数说明同上
  
3. 取得字段说明内容
     
            
SQL Server 2000            
            
SQL Server 2005 ( 包括 express)            
            
SELECT
                  [Table Name] = i_s.TABLE_NAME,
                  [Column Name] = i_s.COLUMN_NAME,
                  [Description] = s.value
             FROM
                  INFORMATION_SCHEMA.COLUMNS i_s
             LEFT OUTER JOIN
                  sysproperties s
             ON
                  s.id = OBJECT_ID(i_s.TABLE_SCHEMA+'.'+i_s.TABLE_NAME)
                  AND s.smallid = i_s.ORDINAL_POSITION
                  AND s.name = 'MS_Description'
             WHERE
                  OBJECTPROPERTY(OBJECT_ID(i_s.TABLE_SCHEMA+'.'+i_s.TABLE_NAME), 'IsMsShipped')=0
                  -- AND i_s.TABLE_NAME = 'table_name'
             ORDER BY
                  i_s.TABLE_NAME, i_s.ORDINAL_POSITION            
            
SELECT
                  [Table Name] = OBJECT_NAME(c.object_id),
                  [Column Name] = c.name,
                  [Description] = ex.value
             FROM
                  sys.columns c
             LEFT OUTER JOIN
                  sys.extended_properties ex
             ON
                  ex.major_id = c.object_id
                  AND ex.minor_id = c.column_id
                  AND ex.name = 'MS_Description'
             WHERE
                  OBJECTPROPERTY(c.object_id, 'IsMsShipped')=0
                  -- AND OBJECT_NAME(c.object_id) = 'your_table'
             ORDER
                  BY OBJECT_NAME(c.object_id), c.column_id
                          
  
  
4. 取得表说明
   
            
SELECT 表名 = case when a.colorder = 1 then d.name
                                 else '' end,
                     表说明 = case when a.colorder = 1 then isnull(f.value, '')
                                   else '' end            
              
FROM syscolumns a
                     inner join sysobjects d
                        on a.id = d.id
                           and d.xtype = 'U'
                           and d.name  'sys.extended_properties'
                     left join sys.extended_properties    f
                       on a.id = f.major_id
                          and f.minor_id = 0
             Where (case when a.colorder = 1 then d.name else '' end) ''



  
  
  SELECT

        (case when a.colorder=1 then d.name else '' end) 表名,
        a.colorder 字段序号,
        a.name 字段名,
       g.[value] AS 字段说明

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 sys.extended_properties g
on a.id=g.major_id AND a.colid = g.minor_id
WHERE d.[name] 'table_desc' --你要查看的表名,注释掉,查看当前数据库所有表的字段信息
order by a.id,a.colorder

--创建表及描述信息
create   table   表(a1   varchar(10),a2   char(2))
--为表添加描述信息
EXECUTE   sp_addextendedproperty   N'MS_Description',   '人员信息表',   N'user',   N'dbo',   N'table',   N'表',   NULL,   NULL
--为字段a1添加描述信息
EXECUTE   sp_addextendedproperty   N'MS_Description',   '姓名',   N'user',   N'dbo',   N'table',   N'表',   N'column',   N'a1'
--为字段a2添加描述信息
EXECUTE   sp_addextendedproperty   N'MS_Description',   '性别',   N'user',   N'dbo',   N'table',   N'表',   N'column',   N'a2'
--更新表中列a1的描述属性:
EXEC   sp_updateextendedproperty   'MS_Description','字段1','user',dbo,'table','表','column',a1
--删除表中列a1的描述属性:
EXEC   sp_dropextendedproperty   'MS_Description','user',dbo,'table','表','column',a1
--删除测试
drop   table   表

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-81163-1-1.html 上篇帖子: 找到SQL Server数据库历史增长信息 下篇帖子: C#实现在Sql Server中存储和读取Word文件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表