Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1292777
  • 博文数量: 107
  • 博客积分: 1456
  • 博客等级: 上尉
  • 技术积分: 1868
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-13 15:33
文章分类

全部博文(107)

文章存档

2021年(2)

2016年(8)

2015年(8)

2014年(10)

2013年(20)

2012年(38)

2011年(21)

分类: 系统运维

2015-08-26 09:43:11

mssql修改架构的基本命令是:

 

ALTER SCHEMA 新架构名 TRANSFER 旧架构名.对象名

这里的对象名是指具体的表\视图\存储过程\用户函数的名称。这条命令一次只能修改一个对象的架构。如需批量修改,可以先把所有的对象通过select语句列出来,再一起执行。

批量修改表、视图

先执行以下命令:

SELECT 'ALTER SCHEMA 新架构名 TRANSFER ' + '旧架构名' + '.' + table_name

from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='旧架构名'

 

然后将命令执行的结果拷出来再执行一次。例如:



批量修改存储过程

方法同上。先把存储过程都列出来:

 

SELECT 'ALTER SCHEMA 新架构名 TRANSFER ' + s.Name + '.' + p.Name

FROM sys.Procedures p INNER JOIN sys.Schemas s on p.schema_id = s.schema_id

WHERE s.Name = '旧架构名'

 

然后把结果贴出来执行。

 

批量修改函数

也是同样的方法,先执行:

 

SELECT 'ALTER SCHEMA 新架构名 TRANSFER ' + s.Name + '.' + p.Name

FROM SYS.objects p  INNER JOIN sys.Schemas s on p.schema_id = s.schema_id

WHERE s.Name = '旧架构名'

 

然后将执行的结果拷出来再执行一次。

阅读(1160) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~