更新时间:2022-05-24 17:26:10
虽然使用sp_rename
重命名表列并不困难,但更改引用视图和存储过程不需要工具的帮助。
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;
我建议您使用Visual Studio 2019附带的SSDT(包括免费的社区版)。创建一个新的SQL Server数据库项目,导入现有数据库,使用Refactor-->;Rename选项重命名该列,然后根据目标数据库发布该项目。发布提供了立即应用更改和/或仅生成脚本的选项。该脚本将包括列重命名的DDL以及更改所有引用对象中的列名。
如果列在视图、过程等中使用了不需要的名称作为别名,则还需要更改这些别名。