USP_SCHEMA_TABLE_SETCOLUMNEXPRESSION
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@TABLENAME | nvarchar(128) | IN | |
@COLUMNNAME | nvarchar(128) | IN | |
@EXPRESSION | nvarchar(4000) | IN |
Definition
Copy
CREATE procedure dbo.USP_SCHEMA_TABLE_SETCOLUMNEXPRESSION
@TABLENAME nvarchar(128),
@COLUMNNAME nvarchar(128),
@EXPRESSION 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'BB_COLUMNEXPRESSION'
and
c.[name]=@COLUMNNAME
;
if @value is null
-- property doesn't exist, so add it
exec sys.sp_addextendedproperty N'BB_COLUMNEXPRESSION', @EXPRESSION, N'SCHEMA', N'dbo', N'table', @TABLENAME, N'COLUMN', @COLUMNNAME;
else if @value <> @EXPRESSION
-- property already exists, so update it
exec sys.sp_updateextendedproperty N'BB_COLUMNEXPRESSION', @EXPRESSION, N'SCHEMA', N'dbo', N'table', @TABLENAME, N'COLUMN', @COLUMNNAME;