Meskipun mengganti nama kolom tabel tidak sulit menggunakan sp_rename
, mengubah tampilan referensi dan prosedur tersimpan bukanlah hal yang sepele tanpa bantuan alat.
T-SQL di bawah ini akan menghasilkan skrip untuk mengganti nama semua kolom yang dimulai dengan huruf kecil. Namun, ini rapuh karena penggantian nama akan gagal ketika ada ketergantungan yang dipaksakan (misalnya objek terikat skema) dan tidak akan menangani tampilan, procs. 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;
Saya sarankan Anda menggunakan SSDT , yang disertakan dengan Visual Studio 2019 (termasuk Edisi Komunitas gratis). Buat Proyek Database SQL Server baru, impor database yang ada, ganti nama kolom menggunakan opsi Refactor-->Ganti nama, lalu publikasikan proyek terhadap database target. Publikasikan menyediakan opsi untuk menerapkan perubahan segera dan/atau hanya membuat skrip. Script akan menyertakan DDL untuk penggantian nama kolom seperti halnya mengubah nama kolom di semua objek referensi.
Jika kolom beralias dengan nama yang tidak diinginkan dalam tampilan, procs, dll., alias tersebut juga perlu diubah.