2014-10-01 51 views
2

我在SQLServer 2008中有一个数据库说测试,其中有近100多个表。 我有要求,我必须添加前缀到这些表。在SQLServer中重命名表名

为例如表employee应改名为companyName_employeecompanyName_是我希望下面的查询运行apply.So表department应该被重新命名为companyName_department

目前我可以用一个重命名表一个前缀:

sp_rename employee, companyName_employee 

sp_rename一次只重命名一个表。

我是新来的SQLServer所以请建议,如果有一个查询中重命名多个表

+0

你需要保存数据吗?有哪些性能要求? – usr 2014-10-01 10:47:29

回答

5

你就可以使用动态SQL的sp_rename语句的方式。像这样:

SELECT 'exec sp_rename ''' + name + ''', ''companyName_' + name + '''' 
FROM sysObjects 
WHERE type = 'U' 
+0

以及如何运行这个动态SQL ...因为当我运行这个查询时,它给出了'exec sp_rename'qualityrating','companyName_qualityrating'的结果,但是它确实重命名了表。如何运行这个声明? – 2014-10-01 11:02:37

+1

复制所有语句,然后手动执行。该查询只生成查询,不会执行它们。 – Pred 2014-10-01 11:23:59

+1

是的,我知道了......非常感谢...... – 2014-10-01 11:28:01