Переименовать столбец в хранилище данных Azure

Я знаю, что могу достичь своей цели с помощью этого процесса:

  1. Создать новый столбец
  2. Обновление нового от старого
  3. Брось старый

Я ищу способ сделать это с помощью одной команды. я знаю это remane object работает на уровне таблицы. Например, я могу сделать это:

rename object Test.danPatient to dimPatient

Но все они терпят неудачу с различными сообщениями об ошибках:

rename object Test.dimPatient.City to Test.dimPatient.Town
rename object Test.dimPatient.City to Town
rename object DatabaseName.Test.dimPatient.City to Town
rename object DatabaseName.Test.dimPatient.City to DatabaseName.Test.dimPatient.Town

Плюс, согласно этому, sp_rename не поддерживается хранилищем данных Azure. Мои неудачные попытки использовать его предполагают, что веб-страница является точной.

Я пытаюсь сделать невозможное?

2 ответа

Решение

Вы правы, что прямо сейчас вы не можете переименовать колонку таким способом. Самый быстрый способ сделать это сегодня - запустить операцию CREATE TABLE AS SELECT (CTAS). Ваше заявление будет выглядеть примерно так:

CREATE TABLE Test.DimPatientNew AS SELECT City [town], <all other columns> FROM Test.DimPatient;

Вы можете добавить свой отзыв на наш общедоступный форум отзывов здесь: https://feedback.azure.com/forums/307516-sql-data-warehouse

Переименуйте запрос столбца: https://feedback.azure.com/forums/307516/suggestions/18434083

sp_renameи столбец теперь поддерживаются в Azure Synapse Analytics. Итак, вы можете использовать:

      sp_rename '[schema].[table].[old_column]', '[new_column]' , 'COLUMN';

Ссылка: ссылка

Другие вопросы по тегам