重命名 Azure 数据仓库中的列

Rename Column in Azure Data Warehouse

我知道我可以通过这个过程完成我的 objective:

  1. 创建新列
  2. 更新旧的
  3. 弃旧

我正在寻找一种使用一个命令来完成此操作的方法。我知道 remane object 在 table 级别工作。例如,我可以这样做:

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

此外,根据 this,Azure 数据仓库不支持 sp_rename。我使用它的失败表明该网页是准确的。

我是在尝试不可能的事情吗?

你说得对,现在不能以这种方式重命名列。今天最快的方法是 运行 一个 CREATE TABLE AS SELECT (CTAS) 操作。你的陈述看起来像这样:

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

您可以在此处向我们的 public 反馈论坛添加您的反馈: 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';

参考:link