SQL Server 注释语法解析

   最近,项目做的差不多了,整理各种文档。整理数据库设计文档的时候,意识到表需要注释下,并且直接注释到SQL中去,这样子即使不用看文档也能大概知道表结构了,对于使用者是一种很方便的方法。当然,不知道怎么查看注释是件很无奈的事情。我写完注释,在查看上也花了不少时间。

 1. 查看SQL表注释

直接上代码解释比较好:

-- 凡是带‘@’的都是要替换掉的
use @dbname   -- 先定位到要查看的数据库,这个很重要,我开始漏掉了这个结果下面表名怎么改都查不到    
go
--显示数据库本身的描述属性    
SELECT objtype, objname, name, value    
FROM fn_listextendedproperty(default, default, default, default, default, default, default);         
--显示架构下所有表的描述属性    
SELECT objtype, objname, name, value    FROM fn_listextendedproperty (NULL, 'schema', 'dbo', 'table', default, NULL, NULL);    
GO         
---显示表下所有列的描述属性    
SELECT objtype, objname, name, value    FROM fn_listextendedproperty(NULL, 'schema', 'dbo', 'table', @tablename, 'column', default);      --@tablename 要查看的表名 省略掉dbname和dbo之类的就可以了   
--显示描述属性还可以    
select * from sys.extended_properties


 

 2.编写注释

EXEC sys.sp_addextendedproperty
	@name = 'MS_Decription'
	,@value = '我的测试表'
		,@level0type='user'
		,@level0name=dbo
		,@level1type='table'
		,@level1name=表明
		,@level2type=null
		,@level2name=null
--中文的地方就是自己替换掉

    sp_addextendedproperty 这个函数带两个参数@name 和@value。前者是SQL 规定的类型,这里一般都用'MS_Decription',后者可以说是个结构体,@value本身代表要注释的内容。下面还有3个级别的值,@level0代表用户或用户定义类型,其type的值一般为user,name值一般为dbo。@level1代表要查看的二级对象,type可以是TABLE、VIEW、PROCEDURE、FUNCTION、DEFAULT、RULE 和 NULL。name就是对应的名称,这个名称不需要前缀。@level2代表第三级的对象,type可是是COLUMN、PARAMETER、INDEX、CONSTRAINT、TRIGGER 和 NULL,同样name是对应的名称。需要说明的是二级和三级对象的name是不需要加单引号的!要给一级对象注释就把二三级设为null,同理对二级也这么做。在设参数的时候可以省略掉参数名like this:

EXEC sys.sp_addextendedproperty 'MS_Decription','邮件对应优惠券编号','user',dbo,'table',rpt_CPA_EmailType,'column',emailType


 


 

 3.编辑注释

     可以添加当然可以更改了,更改命令如下,具体就不展开讲了 和 sp_addextendedproperty是一样的。

--更新表中列a1的描述属性:    
EXEC sp_updateextendedproperty 'MS_Description','字段','user',dbo,'table',@tablename,'column',@cloumnname         
--删除表中列a1的描述属性:    
EXEC sp_dropextendedproperty 'MS_Description','user',dbo,'table',@tablename,'column',@cloumnname          

 

 

OK了,SQL的注释语法就总结这么多,有更详细的欢迎大家补充,整理的不好的请指教。另外附带一个现成的model提供给大家参考:

连接稍后奉上。

例子下载
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值