文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>SQL 2005 如何批量修改表和存储过程的架构

SQL 2005 如何批量修改表和存储过程的架构

时间:2011-01-05  来源:lwjacky

2。再说说如何在SQL 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

方法二:使用系统存储过程sp_MSforeachtable 
EXEC   sp_MSforeachtable   @command1= "EXEC   SP_ChangeObjectOwner   '? ', '新架构名 ' "

 

注:需要先删除该用户所拥有的架构或更改此架构的所有者。否则会提示“数据库主体在该数据库中拥有架构,无法删除”;
每一个数据库用户对应于一个系统登陆帐号,并且每一个架构只能赋予一个用户,所以直接删除用户的架构是不可以的;
可以在用户映射里面将db_owner架构付给dbo(或者执行ALTER   AUTHORIZATION   ON   SCHEMA::db_owner   TO   dbo);
然后就可以删除之前的用户了。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载