2014-10-01 115 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