22,209
社区成员
发帖
与我相关
我的任务
分享
EXEC sp_MsForeachTable
@command1='DECLARE cur CURSOR FOR
SELECT ''ALTER TABLE ? ALTER COLUMN '' + c.name + '' varchar(50)'' AS flag
FROM sys.columns AS c
WHERE EXISTS(SELECT * FROM sys.types
WHERE c.user_type_id=user_type_id
AND name=N''int'')
AND object_id=OBJECT_ID(''?'');
DECLARE @flag varchar(500);
OPEN cur;
FETCH NEXT FROM cur INTO @flag;
WHILE @@FETCH_STATUS=0
BEGIN
EXEC(@flag);
FETCH NEXT FROM cur INTO @flag;
END
CLOSE cur;
DEALLOCATE cur;',
@whereand=' AND EXISTS(SELECT * FROM sys.columns AS c
WHERE object_id=OBJECT_ID(o.name)
AND EXISTS(SELECT * FROM sys.types
WHERE c.user_type_id=user_type_id AND name=N''int''))'