usp_copy_properties
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@srcTableName | nvarchar(max) | IN | |
@dstTableName | nvarchar(max) | IN |
Definition
Copy
CREATE procedure usp_copy_properties(@srcTableName as nvarchar(max), @dstTableName as nvarchar(max))
as
begin
declare c cursor fast_forward for select
'sys.sp_addextendedproperty @name=N''' + ep.name + ''',
@value=N''' + replace(cast(ep.value as nvarchar(max)),'''','''''') + ''',
@level0type=N''SCHEMA'',
@level0name=N''DBO'',
@level1type=N''VIEW'',
@level1name=N''' + @dstTableName + ''',
@level2type=N''COLUMN'',
@level2name=N''' + c.name + ''''
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(@srcTableName)
and ep.minor_id > 0
and ep.[name] like N'BB_%'
;
declare @sqlStatement as nvarchar(max);
open c;
fetch next from c
into @sqlStatement;
while @@fetch_status = 0
begin
execute (@sqlStatement);
fetch next from c
into @sqlStatement;
end;
close c;
deallocate c;
end;