以ms sql server 14 v17为例。sql
以下表dbo.Q中有一个字段''数据库
首先在数据库的系统存储过程列表中:ide
找到sys.sp_addextendedproperty,使用这个为字段添加一个说明。spa
EXECUTE [sys].[sp_addextendedproperty] @name=N'MS_Description', @value=N'数量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Q', @level2type=N'COLUMN',@level2name=N'qty'
执行结果:3d
若是你不清楚MS_Description是否存在时,再次执行上面的存储过程,你会获得一个error提示:code
这个时候,你能够在执行前,先来判断一下是否存在:server
IF EXISTS (SELECT TOP 1 1 FROM fn_listextendedproperty('MS_Description', 'SCHEMA', N'dbo', 'TABLE', N'Q', 'COLUMN', N'qty')) PRINT 'exists' ELSE PRINT 'not exists'
好的,若是咱们知道说明属性已经存在,但内容不正确,咱们想要修改它:blog
此时,你能够DROP以后,再添加。ip
EXECUTE [sys].[sp_dropextendedproperty] 'MS_Description', 'SCHEMA', N'dbo', 'TABLE', N'Q', 'COLUMN', N'qty'
或者,你不想这样麻烦,你能够直接使用update来处理。get
EXECUTE [sys].[sp_updateextendedproperty] @name=N'MS_Description', @value=N'库存数量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Q', @level2type=N'COLUMN',@level2name=N'qty'
再次去看看修改后的字段说明内容
到最后,想说的,能够写成一个动态的SQL包装成一个自定义存储过程。
这样子,咱们无论是在添加,或是更新时,直接传入参数便可。