SqlServer 遍历修改字段长度

DECLARE DataClean CURSOR
FOR
    SELECT  a.name AS t_name ,
            b.name AS c_name ,
            c.DATA_TYPE
    FROM    sys.tables a
            JOIN sys.columns b ON b.object_id = a.object_id
            JOIN INFORMATION_SCHEMA.COLUMNS c ON b.name = c.COLUMN_NAME
            AND a.name = c.TABLE_NAME
OPEN DataClean
DECLARE @t_name VARCHAR(100) ,
        @c_name VARCHAR(100) ,
        @DATA_TYPE VARCHAR(100) 
FETCH NEXT FROM DataClean INTO @t_name, @c_name, @DATA_TYPE
WHILE @@FETCH_STATUS = 0 
    BEGIN        
        PRINT ('ALTER TABLE ' + @t_name + ' ALTER COLUMN  ' + @c_name+ '  NVARCHAR(2500)')
        EXEC ('ALTER TABLE '+@t_name+ ' ALTER COLUMN  '+ @c_name+'  NVARCHAR(2500)')
        PRINT ( '表:' + @t_name + '--字段:' + @c_name + '--修改成功' )    
        FETCH NEXT FROM DataClean INTO @t_name, @c_name, @DATA_TYPE
    END          
                        --关闭游标
CLOSE DataClean
                        --释放资源
DEALLOCATE DataClean        

猜你喜欢

转载自www.cnblogs.com/zldqpm/p/11355798.html