Mặc dù đổi tên cột trong bảng không khó bằng cách sử dụng sp_rename
, việc thay đổi các chế độ xem tham chiếu và các thủ tục được lưu trữ là không hề nhỏ nếu không có sự trợ giúp của các công cụ.
T-SQL dưới đây sẽ tạo tập lệnh để đổi tên tất cả các cột bắt đầu bằng chữ thường. Tuy nhiên, điều khó xảy ra là việc đổi tên sẽ không thành công khi tồn tại các phụ thuộc được thực thi (ví dụ:các đối tượng liên kết lược đồ) và sẽ không xử lý các khung nhìn, 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;
Tôi khuyên bạn nên sử dụng SSDT , được bao gồm trong Visual Studio 2019 (bao gồm cả Phiên bản cộng đồng miễn phí). Tạo một dự án cơ sở dữ liệu SQL Server mới, nhập cơ sở dữ liệu hiện có, đổi tên cột bằng cách sử dụng tùy chọn Refactor -> Rename, sau đó xuất bản dự án dựa trên cơ sở dữ liệu đích. Xuất bản cung cấp tùy chọn để áp dụng các thay đổi ngay lập tức và / hoặc chỉ tạo tập lệnh. Tập lệnh sẽ bao gồm DDL cho việc đổi tên cột cũng như thay đổi tên cột trong tất cả các đối tượng tham chiếu.
Nếu cột được đặt bí danh với tên không mong muốn trong chế độ xem, tài liệu, v.v., những bí danh đó cũng sẽ cần được thay đổi.