Въпреки че преименуването на колоната на таблицата не е трудно с помощта на sp_rename
, промяната на референтните изгледи и съхранените процедури е нетривиална без помощта на инструменти.
T-SQL по-долу ще генерира скрипт за преименуване на всички колони, които започват с малка буква. Въпреки това, той е крехък, тъй като преименуването ще се провали, когато съществуват наложени зависимости (например обекти, свързани със схема) и няма да обработват изгледи, процеси. et. ал.
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;
Предлагам ви да използвате SSDT , който е включен в Visual Studio 2019 (включително безплатното издание на Общността). Създайте нов проект за база данни на SQL Server, импортирайте съществуващата база данни, преименувайте колоната с помощта на опцията Refactor-->Rename и след това публикувайте проекта срещу целевата база данни. Publish предоставя възможност за незабавно прилагане на промените и/или просто генериране на скрипта. Скриптът ще включва DDL за преименуването на колоната, както и промяната на името на колоната във всички препращащи обекти.
Ако колоната е с псевдоним с нежеланото име в изгледи, процеси и т.н., тези псевдоними също ще трябва да бъдат променени.