在SQLServer中重命名表名

Shi*_*ari 2 sql database sql-server-2008-r2

我在SQLServer 2008中有一个数据库说测试,里面有几乎超过100个表.我要求我必须为这些表添加前缀.

例如,表employee应该重命名为companyName_employee.companyName_是我想要应用的前缀.department应该将表重命名为companyName_department

目前我可以通过运行以下查询逐个重命名表:

sp_rename employee, companyName_employee
Run Code Online (Sandbox Code Playgroud)

sp_rename 一次只能重命名一个表.

我是SQLServer的新手,所以请建议是否有办法在一个查询中重命名多个表

Don*_*nal 5

您可以使用动态sql生成sp_rename语句.像这样:

SELECT 'exec sp_rename ''' + name + ''', ''companyName_' + name + ''''
FROM sysObjects
WHERE type = 'U'
Run Code Online (Sandbox Code Playgroud)