1。在SQL Server 2005中批量修改存储过程的架构,执行以下SQL,将执行结果拷贝出来,批量执行既可。
2。在SQL Server 2005中批量修改表的架构,执行以下SQL,将执行结果拷贝出来,批量执行既可。
需要注意的是,必须在当前数据库下执行,不能再master下,要不然会提示找不到架构名。
Select 'Alter SCHEMA dbo TRANSFER ' + s.Name + '.' + p.Name
FROM sys.Procedures p INNER JOIN sys.Schemas s on p.schema_id = s.schema_id
Where s.Name = '旧的架构名称'
2。在SQL Server 2005中批量修改表的架构,执行以下SQL,将执行结果拷贝出来,批量执行既可。
declare @name sysname
declare csr1 cursor
for
select TABLE_NAME from INFORMATION_SCHEMA.TABLES
open csr1
FETCH NEXT FROM csr1 INTO @name
while (@@FETCH_STATUS=0)
BEGIN
SET @name='旧的架构名称.' + @name
print 'Alter SCHEMA dbo TRANSFER ' + @name
fetch next from csr1 into @name
END
CLOSE csr1
DEALLOCATE csr1
需要注意的是,必须在当前数据库下执行,不能再master下,要不然会提示找不到架构名。