Compartilhar via


Comando .rename table

Aplica-se a: ✅Microsoft FabricAzure Data Explorer

Altera o nome de uma tabela existente.

O .rename tables comando altera o nome de várias tabelas no banco de dados como uma única transação.

Permissões

Você deve ter pelo menos permissões de Administrador de Tabela para executar este comando.

Sintaxe

.renametable Nome antigo to Novo nome

.renametables NovoNome = Antigo(ifexistsa) [, ...]

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Digitar Obrigatória Descrição
OldName string ✔️ O nome de uma tabela existente. Um erro é gerado e todo o comando falha se OldName não nomear uma tabela existente, a menos que ifexists seja especificado.
NewName string ✔️ O novo nome da tabela que costumava ser chamada de OldName.
ifexists string Se especificado, o comando manipulará o cenário em que a tabela não existe. Em vez de falhar, ele continuará sem tentar renomear a tabela que não existe.

Comentários

Esse comando opera somente em tabelas do banco de dados no escopo.

Os nomes de tabela não podem ser qualificados com nomes de cluster ou banco de dados.

Os nomes de tabela não podem ser qualificados, por exemplo, com nomes de banco de dados.

Esse comando não cria novas tabelas nem remove tabelas existentes. A transformação descrita pelo comando deve ser tal que o número de tabelas no banco de dados não seja alterado.

O comando suporte à troca de nomes de tabela ou permutações mais complexas, desde que sigam as regras acima. Por exemplo, ingira dados em várias tabelas de preparo e, em seguida, troque-os por tabelas existentes em uma única transação.

Exemplos

Imagine um banco de dados com as seguintes tabelas: A, B, Ce A_TEMP. O comando a seguir será trocado A e A_TEMP (para que a A_TEMP tabela agora seja chamada Ade , e vice-versa), renomeie B para NEWB, e mantenha C como está.

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

A seguinte sequência de comandos:

  1. Cria uma nova tabela temporária
  2. Substitui uma tabela existente ou inexistente pela nova tabela
// 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

Renomear tabela de origem de uma exibição materializada

Se a tabela que está sendo renomeada for a tabela de origem de uma exibição materializada, você poderá especificar a seguinte propriedade como parte do .rename comando:

.renametable Nome antigo to Novo nome with (updateMaterializedViews=true)

A tabela será renomeada e todas as exibições materializadas que fazem referência a OldName serão atualizadas para apontar para NewName, de forma transacional.

Observação

O comando só funcionará se a tabela de origem for referenciada diretamente na consulta de exibição materializada. Se a tabela de origem for referenciada de uma função armazenada invocada pela consulta de exibição, o comando falhará, pois o comando não pode atualizar a função armazenada.