SQL2005批量删除字段说明描述

USE [your database]  //数据库
GO

SET NOCOUNT ON

DECLARE 
    @major_id int,
    @minor_id int,
    @schema sysname,
    @table sysname,
    @column sysname,
    @sql nvarchar(1000)


DECLARE cur CURSOR LOCAL STATIC READ_ONLY FORWARD_ONLY
FOR
SELECT
    major_id,
    minor_id
FROM sys.extended_properties
WHERE name = 'MS_Description'

OPEN cur
FETCH NEXT FROM cur INTO @major_id,@minor_id
WHILE @@FETCH_STATUS = 0
BEGIN

    SELECT 
        @schema = SCHEMA_NAME(a.schema_id),
        @table = a.name,
        @column = b.name
    FROM sys.tables a
    JOIN sys.columns b
        on a.object_id = b.object_id
            AND b.column_id = @minor_id
    WHERE a.object_id = @major_id
        
    SET @sql = N'
    EXEC SP_dropextendedproperty  
        @name = ''MS_Description'' 
        ,@level0type = ''schema'' 
        ,@level0name = ' + @schema + '
        ,@level1type = ''table''
        ,@level1name = ''' + @table + '''
        ,@level2type = ''column''
        ,@level2name = ''' + @column + ''''
    --PRINT @sql 
    EXEC SP_EXECUTESQL @sql

    FETCH NEXT FROM cur INTO @major_id,@minor_id
END
CLOSE cur
DEALLOCATE cur

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值