SSMS
 sql >> база данни >  >> Database Tools >> SSMS

Писане на заявка за генериране на някои скриптове за преименуване на някои колони в цялата база данни

Въпреки че преименуването на колоната на таблицата не е трудно с помощта на 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 за преименуването на колоната, както и промяната на името на колоната във всички препращащи обекти.

Ако колоната е с псевдоним с нежеланото име в изгледи, процеси и т.н., тези псевдоними също ще трябва да бъдат променени.




  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Не мога да инсталирам инструмента за управление на SQL Server 2008 R2 (завършен)

  2. SSMS 2012 Intellisense поведение

  3. Актуализиране на sql битово поле в базата данни

  4. SSMS връзка към Sybase ASE

  5. Как да се свържете с LocalDb