Aunque cambiar el nombre de la columna de la tabla no es difícil usando sp_rename
, cambiar las vistas de referencia y los procedimientos almacenados no es trivial sin la ayuda de herramientas.
El T-SQL a continuación generará un script para cambiar el nombre de todas las columnas que comienzan con una letra minúscula. Sin embargo, es frágil porque los cambios de nombre fallarán cuando existan dependencias forzadas (por ejemplo, objetos vinculados al esquema) y no manejará vistas, procesos. 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;
Le sugiero que use SSDT , que se incluye con Visual Studio 2019 (incluida la Community Edition gratuita). Cree un nuevo proyecto de base de datos de SQL Server, importe la base de datos existente, cambie el nombre de la columna con la opción Refactor-->Cambiar nombre y, a continuación, publique el proyecto en la base de datos de destino. Publicar ofrece la opción de aplicar los cambios inmediatamente y/o simplemente generar el script. La secuencia de comandos incluirá DDL para el cambio de nombre de la columna y cambiará el nombre de la columna en todos los objetos de referencia.
Si la columna tiene un alias con el nombre no deseado en vistas, procesos, etc., esos alias también deberán cambiarse.