批量修改数据库表的架构sql
有时候折腾数据库的用户名,导入导出的时候忘了选所有者了,这时候这个sql就用上了,通过测试
declare @name sysname --表名变量 declare csr1 cursor --定义一个游标 for select name from sysobjects where xtype = 'u '--取表名 open csr1 declare @SchemaTable varchar(200) FETCH NEXT FROM csr1 INTO @name while (@@FETCH_STATUS=0) BEGIN SET @name='旧的架构.' + @name print 'ALTER SCHEMA dbo TRANSFER ' + @name --这里的dbo是新的架构,记得修改 set @SchemaTable = 'ALTER SCHEMA dbo TRANSFER ' + @name --执行语句 exec (@SchemaTable) --开始执行 fetch next from csr1 into @name --循环游标值 END CLOSE csr1 ---关闭游标 DEALLOCATE csr1