您的位置:首页 > 数据库 > SQL

批量更改数据库表架构(生成sql后直接执行!)

2014-12-30 16:00 148 查看
批量更改数据库表架构(生成sql后直接执行!)


use my_test; --当前数据库
declare  @alltable varchar(1000),
@SchemaOld varchar(1000),
@SchemaNew varchar(1000),
@NewSql VARCHAR(max),
@Index INT;
SET @SchemaOld='dbo';--原架构名称
SET @SchemaNew='SC';--新架构名称
SET @NewSql='';
SET @Index=1;
SELECT @alltable=isnull(@alltable+',','')+[name] FROM SysObjects Where XType='U' ORDER BY Name;
declare @s varchar(1000),@ns varchar(1000);
set @s=@alltable;
set @s=@s+',';
while (charindex(',',@s)<>0)
begin
select @ns=substring(@s,1,charindex(',',@s)-1);
--执行操作
--SET  @NewSql=@NewSql+ 'alter SCHEMA '+@SchemaNew+'  transfer '+@SchemaOld+'.'+@ns+';'
PRINT '/*'+CAST(@Index AS varchar)+'*/ alter SCHEMA '+@SchemaNew+'  transfer '+@SchemaOld+'.'+@ns+';' ;
SET @Index=@Index+1;
--结束操作
set @s=stuff(@s,1,charindex(',',@s),'');
end

PRINT @NewSql;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: