Extended Property Manipulation Script
declare @Property nvarchar(20), --Name of extended property to add
@PropertyVal nvarchar(100), -- value of extended property
@Table nvarchar(50), -- table that will be getting extended property
@DropOnly bit -- if set to 1, then extended property will be dropped and not readded
set @Property = 'GenerateObject'
set @PropertyVal = '1'
set @Table = 'User'
set @DropOnly = 0
-- if the property we are looking for already exists, drop it.
if (Exists (select * from ::fn_listextendedproperty (@Property, N'SCHEMA', N'dbo', N'TABLE', @Table, default, default)))
Begin
exec sys.sp_dropextendedproperty @name=@Property,
@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE',
@level1name=@Table
End
-- if the DropOnly flag is not set...
if @DropOnly = 0
Begin
-- add the extendedproperty along with the appropriate value
EXEC sys.sp_addextendedproperty @name=@Property, @value=@PropertyVal ,
@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE',
@level1name=@Table
End
-- no matter what happened above, search for the property. if DropOnly was set, nothing will be returned.
select * from ::fn_listextendedproperty (@Property, N'SCHEMA', N'dbo', N'TABLE', @Table, default, default)
-- list all tables with this property
select * from ::fn_listextendedproperty (@Property, N'SCHEMA', N'dbo', N'TABLE', default, default, default)






0 Comments:
Post a Comment
<< Home