Udostępnij za pośrednictwem


Zmienianie nazw kolumn (aparat bazy danych)

Dotyczy: SQL Server 2016 (13.x) i późniejsze wersje Azure SQL DatabaseAzure SQL Managed InstanceSQL Database w usłudze Microsoft Fabric

Możesz zmienić nazwę kolumny tabeli w programie SQL Server przy użyciu programu SQL Server Management Studio lub Języka Transact-SQL.

Ograniczenia

Zmiana nazwy kolumny nie powoduje automatycznego zmieniania nazw odwołań do tej kolumny. Należy ręcznie zmodyfikować wszystkie obiekty odwołujące się do kolumny o zmienionej nazwie. Jeśli na przykład zmienisz nazwę kolumny tabeli i ta kolumna jest przywołynięta w wyzwalaczu, musisz zmodyfikować wyzwalacz, aby odzwierciedlić nową nazwę kolumny. Użyj sys.sql_expression_dependencies, aby wyświetlić listę zależności od obiektu przed zmianą nazwy.

Zmiana nazwy kolumny nie powoduje automatycznej aktualizacji metadanych dla obiektów, które obejmują SELECT wszystkie kolumny (używając *) z tej tabeli. Jeśli na przykład zmienisz nazwę kolumny tabeli i ta kolumna jest przywoływanych przez widok lub funkcję niezwiązaną ze schematem, która wybiera wszystkie kolumny (przy użyciu *), metadane widoku lub funkcji będą nadal odzwierciedlać oryginalną nazwę kolumny. Odśwież metadane przy użyciu sp_refreshsqlmodule lub sp_refreshview.

Uprawnienia

Wymaga uprawnienia ALTER do obiektu.

Korzystanie z programu SQL Server Management Studio

Zmienianie nazwy kolumny przy użyciu Eksploratora obiektów

  1. W Eksploratorze Obiektów nawiąż połączenie z instancją silnika bazy danych.
  2. W eksploratorze obiektów kliknij prawym przyciskiem myszy tabelę, w której chcesz zmienić nazwy kolumn, a następnie wybierz pozycję Zmień nazwę.
  3. Wpisz nową nazwę kolumny.

Zmienianie nazwy kolumny przy użyciu projektanta tabel

  1. W eksploratorze obiektów kliknij prawym przyciskiem myszy tabelę, do której chcesz zmienić nazwy kolumn, a następnie wybierz pozycję Design.
  2. W obszarze Nazwa kolumnywybierz nazwę, którą chcesz zmienić, i wpisz nową.
  3. W menu Plik wybierz pozycję Zapisz nazwę tabeli .

Możesz również zmienić nazwę kolumny na karcie właściwości kolumny . Wybierz kolumnę, której nazwa ma zostać zmieniona, i wpisz nową wartość Nazwa.

Użyj Transact-SQL

Zmienianie nazwy kolumny

Poniższy przykład zmienia nazwę kolumny ErrorTime w tabeli dbo.ErrorLog na ErrorDateTime w bazie danych AdventureWorksLT.

EXEC sp_rename 'dbo.ErrorLog.ErrorTime', 'ErrorDateTime', 'COLUMN';

Zwróć uwagę na ostrzeżenie wyjściowe i sprawdź, czy inne obiekty lub zapytania nie są uszkodzone:

Caution: Changing any part of an object name could break scripts and stored procedures.

Aby uzyskać więcej informacji, zobacz sp_rename.