【问题标题】:Rename Column in Azure Data Warehouse在 Azure 数据仓库中重命名列
【发布时间】:2018-09-01 02:38:10
【问题描述】:

我知道我可以通过这个过程实现我的目标:

  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

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

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

【问题讨论】:

  • 嘿,丹。出于好奇,您为什么要尝试重命名您的专栏?

标签: sql azure azure-sqldw


【解决方案1】:

您的正确做法是,您现在无法以这种方式重命名列。今天最快的方法是运行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

【讨论】:

【解决方案2】:

sp_rename 和列现在在 Azure Synapse Analytics 中受支持。所以你可以使用:

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

参考:link

【讨论】:

    猜你喜欢
    • 2015-11-21
    • 1970-01-01
    • 2011-12-04
    • 2019-07-28
    • 2021-06-04
    • 2019-05-09
    • 2016-06-30
    • 1970-01-01
    • 2017-01-04
    相关资源
    最近更新 更多