2012-04-10 2 views
1

Я не очень переживаю с SQL Server 2008, я хотел бы переименовать все столбцы в моей базе данных (добавить к существующему имени некоторый префикс).SQL Server 2008 R2 - Как переименовать несколько имен столбцов?

Я думаю, что-то вроде:

Foreach(column in table) 
(
    column_name = prefix+column_name 
) 

Есть ли способ сделать это ??

Большое спасибо.

+1

почему бы вы когда-нибудь сделать? –

ответ

4

Вы можете попробовать следующее решение: итерации по записям из таблицы sys.columns с помощью курсора и для каждой записи исправить системную хранимую процедуру sp_rename. Я думаю, что при переименовании могут возникнуть проблемы с целостностью, поэтому вам нужно быть осторожными с другими объектами (например, хранимыми процедурами), которые ссылаются на эти столбцы.

UPDATE: MVP говорит:

if you have any indexes, primary keys, unique keys, or foreign keys, they need to be dropped, and then readded, after the columns have been renamed. If you don't do this in the correct order, you will get lots of nasty error message.

1

вы можете попробовать использовать sp_RENAME. он позволяет использовать только один столбец за раз. но вы можете сделать это на вашем коду, чтобы цикл на каждом из столбцов. Надеюсь, поможет. благодаря!

Смежные вопросы