2012-04-10 7 views
1

Ich habe nicht viel Erfahrung mit SQL Server 2008, möchte ich alle Spalten in meiner Datenbank umbenennen (zu bestehenden Namen ein Präfix hinzufügen).SQL Server 2008 R2 - Wie mehrere Spaltennamen umzubenennen?

Ich denke, so etwas wie:

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

Gibt es eine Möglichkeit, es zu tun ??

Vielen Dank.

+1

warum würden Sie jemals das tun? –

Antwort

4

Sie können die folgende Lösung versuchen: durchlaufen Datensätze von sys.columns Tabelle mit Cursor und für jeden Datensatz führen Sie die sp_rename System gespeicherte Prozedur. Ich denke, dass es bei der Umbenennung Probleme mit der Integrität geben kann. Daher müssen Sie bei anderen Objekten (z. B. gespeicherten Prozeduren) vorsichtig sein, die sich auf diese Spalten beziehen.

UPDATE: MVP sagt:

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

können Sie versuchen, sp_RENAME verwenden. Es erlaubt nur einzelne Spalten gleichzeitig. aber Sie können es auf Ihrem Code tun, um auf jeder der Spalten zu wiederholen. ich hoffe es hilft. Vielen Dank!

Verwandte Themen