USP_SCHEMA_TABLE_SETCOLUMNCOMMENT
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@TABLENAME | nvarchar(128) | IN | |
@COLUMNNAME | nvarchar(128) | IN | |
@COMMENT | nvarchar(4000) | IN |
Definition
Copy
CREATE procedure dbo.USP_SCHEMA_TABLE_SETCOLUMNCOMMENT
@TABLENAME nvarchar(128),
@COLUMNNAME nvarchar(128),
@COMMENT nvarchar(4000)
as
SET NOCOUNT ON;
declare @value nvarchar(4000);
select @value = cast(value as nvarchar(4000))
from sys.extended_properties as ep
inner join sys.columns as c on c.object_id=ep.major_id and c.column_id=ep.minor_id
where
ep.class=1
and
ep.major_id=OBJECT_ID(@TABLENAME,'U')
and
ep.minor_id > 0
and
ep.[name] = N'MS_Description'
and
c.[name]=@COLUMNNAME
;
if @value is null
-- property doesn't exist, so add it
exec sys.sp_addextendedproperty N'MS_Description', @COMMENT, N'SCHEMA', N'dbo', N'table', @TABLENAME, N'COLUMN', @COLUMNNAME;
else if @value <> @COMMENT
-- property already exists, so update it
exec sys.sp_updateextendedproperty N'MS_Description', @COMMENT, N'SCHEMA', N'dbo', N'table', @TABLENAME, N'COLUMN', @COLUMNNAME;