共用方式為


.rename table 命令

適用於: ✅Microsoft網狀架構Azure 數據總管

變更現有數據表的名稱。

命令會將 .rename tables 資料庫中一些數據表的名稱變更為單一交易。

權限

您必須至少有 資料表管理員 許可權才能執行此命令。

語法

.renametable OldName NewName to

.renametables NewName OldName = [ifexists] [, ...]

深入瞭解 語法慣例

參數

姓名 類型​​ 必要 描述
OldName string ✔️ 現有數據表的名稱。 如果 OldName 未命名現有的數據表,除非ifexists指定,否則會引發錯誤,而且整個命令會失敗。
NewName string ✔️ 用來呼叫 OldName 之數據表的新名稱。
ifexists string 如果指定,命令會處理數據表不存在的案例。 它不會失敗,而是會繼續,而不會嘗試重新命名不存在的數據表。

備註

此命令只會在範圍中的資料庫數據表上運作。

數據表名稱不能以叢集或資料庫名稱限定。

例如,數據表名稱不能限定資料庫名稱。

此命令不會建立新的資料表,也不會移除現有的數據表。 命令所描述的轉換必須使資料庫中的數據表數目不會變更。

只要符合上述規則,命令 支援交換數據表名稱或更複雜的排列。 例如,將數據擷取至多個臨時表,然後將這些數據與單一交易中的現有數據表交換。

範例

想像具有下列資料表資料庫: ABCA_TEMP。 下列命令會交換 和 (讓A_TEMP資料表現在稱為 ,並以另一種方式重新命名BANEWB,並依現態保留CA_TEMP A

.rename tables A=A_TEMP, NEWB=B, A_TEMP=A

下列命令序列:

  1. 建立新的臨時表
  2. 以新的數據表取代現有或不存在的數據表
// Drop the temporary table if it exists
.drop table TempTable ifexists

// Create a new table
.set TempTable <| ...

// Swap the two tables
.rename tables TempTable=Table ifexists, Table=TempTable

// Drop the temporary table (which used to be Table) if it exists
.drop table TempTable ifexists

重新命名具體化檢視的源數據表

如果重新命名的數據表是具體化檢視的源數據表,您可以將下列屬性指定為命令的.rename部分:

.renametable OldName NewName to with (updateMaterializedViews=true)

數據表將會重新命名,而且參考 OldName 的所有具體化檢視都會更新為以交易方式指向 NewName

注意

只有在具體化檢視查詢中直接參考源數據表時,命令才能運作。 如果源數據表是從檢視查詢叫用的預存函式參考,命令將會失敗,因為命令無法更新預存函式。