批量更改数据库表架构(生成sql后直接执行!)
批量更改数据库表架构(生成sql后直接执行!)
use my_test; --当前数据库 declare @alltable varchar(1000), @SchemaOld varchar(1000), @SchemaNew varchar(1000), @NewSql VARCHAR(max), @Index INT; SET @SchemaOld=‘‘;--原架构名称 SET @SchemaNew=‘‘;--新架构名称 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;
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。