Obwohl das Umbenennen der Tabellenspalte mit sp_rename
nicht schwierig ist , ist das Ändern der referenzierenden Ansichten und gespeicherten Prozeduren ohne die Hilfe von Tools nicht trivial.
Das folgende T-SQL generiert ein Skript zum Umbenennen aller Spalten, die mit einem Kleinbuchstaben beginnen. Es ist jedoch insofern anfällig, als Umbenennungen fehlschlagen, wenn erzwungene Abhängigkeiten vorhanden sind (z. B. schemagebundene Objekte) und Ansichten und Prozesse nicht verarbeitet werden. et. al.
SELECT
N'EXEC sp_rename '''
+ QUOTENAME(s.name) + N'.' + QUOTENAME(t.name) + N'.' + QUOTENAME(c.name)
+ ''', ''' + UPPER(LEFT(c.name, 1)) + SUBSTRING(c.name,2,127) + ''', ''COLUMN'';'
FROM sys.schemas AS s
JOIN sys.tables AS t ON t.schema_id = s.schema_id
JOIN sys.columns AS c ON c.object_id = t.object_id
WHERE
LEFT(c.name, 1) COLLATE Latin1_General_CS_AS <> UPPER(LEFT(c.name, 1)) COLLATE Latin1_General_CS_AS
AND t.is_ms_shipped = 0;
Ich schlage vor, Sie verwenden SSDT , das in Visual Studio 2019 (einschließlich der kostenlosen Community Edition) enthalten ist. Erstellen Sie ein neues SQL Server-Datenbankprojekt, importieren Sie die vorhandene Datenbank, benennen Sie die Spalte mit der Option Umgestalten -> Umbenennen um und veröffentlichen Sie das Projekt dann für die Zieldatenbank. Veröffentlichen bietet die Möglichkeit, die Änderungen sofort anzuwenden und/oder nur das Skript zu generieren. Das Skript enthält DDL für die Spaltenumbenennung und ändert den Spaltennamen in allen referenzierenden Objekten.
Wenn die Spalte in Views, Procs usw. mit dem unerwünschten Namen versehen ist, müssen diese Aliase ebenfalls geändert werden.