SqlServer清除数据库表和字段说明

复制代码
DECLARE @ID nvarchar(50)
DECLARE @Name nvarchar(50)
DECLARE @ID2 nvarchar(50)
DECLARE @Name2 nvarchar(50)
DECLARE @ID3 nvarchar(50)
 
DECLARE my_cursor CURSOR FOR select name,object_id from sys.tables where type='U'
Open my_cursor
fetch my_cursor into @Name,@ID
while @@fetch_status=0
begin
 --SELECT @Name,@ID
 if exists (select 1 from  sys.extended_properties
           where major_id = object_id(@Name) and minor_id = 0)
    begin 
       execute sp_dropextendedproperty 'MS_Description',  
       'user', 'dbo', 'table', @Name 
        print '表['+@Name+']说明清除成功!'
    end 
  
  DECLARE my_cursor2 CURSOR FOR  select name,object_id,column_id from sys.columns where object_id=@ID
    Open my_cursor2
 fetch my_cursor2 into @Name2,@ID2,@ID3
 while @@fetch_status=0
 begin
  --select @ID2,@Name2
  declare @cnt int
  select @cnt=COUNT(*) from sys.extended_properties where major_id=@ID and minor_id=@ID3 and
  name='MS_Description'
  if(@cnt>0)
  begin
  EXEC sp_dropextendedproperty  
  @name = 'MS_Description' 
     ,@level0type = 'schema' 
  ,@level0name = dbo 
  ,@level1type = 'table'
  ,@level1name = @Name
  ,@level2type = 'column'
  ,@level2name =@Name2; 
  print '表['+@Name+']字段['+@Name2+']说明清除成功!'
  end
  fetch my_cursor2 into @Name2,@ID2,@ID3
 end
 close my_cursor2
 deallocate my_cursor2
 fetch my_cursor into @Name,@ID
end
close my_cursor
deallocate my_cursor
复制代码

 

posted @   潇潇与偕  阅读(69)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示