USP_RESTOREALLINDEXEEXTENDEDPROPERTIES_FORTABLE
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@EXTENDEDPROPERTY | EXTENDEDPROPERTYTABLETYPE | IN |
Definition
Copy
create procedure bbdw.USP_RESTOREALLINDEXEEXTENDEDPROPERTIES_FORTABLE(
@EXTENDEDPROPERTY EXTENDEDPROPERTYTABLETYPE readonly
)
as begin
declare @SQL nvarchar(max) = '
exec sys.sp_addextendedproperty
@NAME=@NAME,
@VALUE=@VALUE,
@LEVEL0TYPE=@LEVEL0TYPE,
@LEVEL0NAME=@LEVEL0NAME,
@LEVEL1TYPE=@LEVEL1TYPE,
@LEVEL1NAME=@LEVEL1NAME,
@LEVEL2TYPE=@LEVEL2TYPE,
@LEVEL2NAME=@LEVEL2NAME;';
declare @NAME sysname,
@VALUE sql_variant,
@LEVEL0TYPE sysname,
@LEVEL0NAME sysname,
@LEVEL1TYPE sysname,
@LEVEL1NAME sysname,
@LEVEL2TYPE sysname,
@LEVEL2NAME sysname;
declare EXTENDEDPROPERTYCURSOR cursor local fast_forward for
select
EP.NAME,
EP.VALUE,
EP.LEVEL0TYPE,
EP.LEVEL0NAME,
EP.LEVEL1TYPE,
EP.LEVEL1NAME,
EP.LEVEL2TYPE,
EP.LEVEL2NAME
from
@EXTENDEDPROPERTY EP
open EXTENDEDPROPERTYCURSOR;
fetch next from EXTENDEDPROPERTYCURSOR into @NAME,
@VALUE,
@LEVEL0TYPE,
@LEVEL0NAME,
@LEVEL1TYPE,
@LEVEL1NAME,
@LEVEL2TYPE,
@LEVEL2NAME;
while @@FETCH_STATUS = 0
begin
exec sp_executesql
@SQL, N'@NAME sysname,
@VALUE sql_variant,
@LEVEL0TYPE sysname,
@LEVEL0NAME sysname,
@LEVEL1TYPE sysname,
@LEVEL1NAME sysname,
@LEVEL2TYPE sysname,
@LEVEL2NAME sysname',
@NAME,
@VALUE,
@LEVEL0TYPE,
@LEVEL0NAME,
@LEVEL1TYPE,
@LEVEL1NAME,
@LEVEL2TYPE,
@LEVEL2NAME;
fetch next from EXTENDEDPROPERTYCURSOR into @NAME,
@VALUE,
@LEVEL0TYPE,
@LEVEL0NAME,
@LEVEL1TYPE,
@LEVEL1NAME,
@LEVEL2TYPE,
@LEVEL2NAME;
end
close EXTENDEDPROPERTYCURSOR;
deallocate EXTENDEDPROPERTYCURSOR;
end