记录技术收获,分享个人心得

人生如负重远行,不可急于求成

SQLServer批量修改表以及存储过程的架构

1、sql2000

sql2000
use 数据库名
EXEC sp_MSforeachtable ‘exec sp_changeobjectowner ”?”,”新架构名” ‘

2、sql2005/2008及以上

use 数据库名
go
declare @name sysname
 declare csr cursor
   for select TABLE_NAME from INFORMATION_SCHEMA.TABLES
open csr
 FETCH NEXT FROM csr INTO @name
while (@@FETCH_STATUS=0)
BEGIN
SET @name=’原来的架构名.’ + @name
print ‘ALTER SCHEMA 目标架构名(如dbo) TRANSFER ‘ + @name
fetch next from csr into @name
END
CLOSE csr
DEALLOCATE csr

执行的结果复制出来,再在sqlserver执行一次

《SQLServer批量修改表以及存储过程的架构》 《SQLServer批量修改表以及存储过程的架构》

3、修改数据库存储过程架构

declare @old varchar(50),
           @new varchar(50)

set @old=’老架构’ –老架构
set @new=’dbo’   –新架构
           
select ‘ALTER SCHEMA ‘+@new+’ TRANSFER ‘+@old+’.’+name   from sysobjects  where xtype= ‘p’ and  SCHEMA_NAME(uid)=@old   order by name 


点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

hi~

你好,欢迎来到我的博客,欢迎留言。

快速搜索:







Generic selectors

Exact matches only


Search in title


Search in content



Search in posts


Search in pages

欢迎关注我:

微博
steam
网易云音乐
QQ
500px

常用命令:

http://www.gaoshan.me/cmd