Comando .rename table
Altera o nome de uma tabela existente.
O .rename tables
comando altera o nome de várias tabelas na base de dados como uma única transação.
Permissões
Tem de ter, pelo menos, permissões de Administração tabela para executar este comando.
Syntax
.rename
table
OldNameto
NewName
.rename
tables
NewName=
OldName [ifexists
] [,
...]
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Tipo | Necessário | Descrição |
---|---|---|---|
OldName | string |
✔️ | O nome de uma tabela existente. É gerado um erro e todo o comando falha se OldName não atribuir um nome a uma tabela existente, a menos que ifexists seja especificado. |
NewName | string |
✔️ | O novo nome da tabela que costumava chamar-se OldName. |
ifexists |
string |
Se for especificado, o comando processará o cenário em que a tabela não existe. Em vez de falhar, irá prosseguir sem tentar mudar o nome da tabela que não existe. |
Observações
Este comando funciona apenas em tabelas da base de dados no âmbito. Os nomes das tabelas não podem ser qualificados com nomes de clusters ou bases de dados.
Este comando não cria novas tabelas, nem remove tabelas existentes. A transformação descrita pelo comando tem de ser tal que o número de tabelas na base de dados não é alterado.
O comando suporta a troca de nomes de tabelas ou permutações mais complexas, desde que cumpram as regras acima. Por exemplo, ingerir dados em múltiplas tabelas de teste e, em seguida, trocá-los por tabelas existentes numa única transação.
Exemplos
Imagine uma base de dados com as seguintes tabelas: A
, B
, C
e A_TEMP
.
O comando seguinte irá trocar A
e A_TEMP
(para que a A_TEMP
tabela seja agora denominada A
e ao contrário), mude o nome B
para NEWB
e mantenha C
como está.
.rename tables A=A_TEMP, NEWB=B, A_TEMP=A
A seguinte sequência de comandos:
- Cria uma nova tabela temporária
- Substitui uma tabela existente ou existente 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
Mudar o nome da tabela de origem de uma vista materializada
Se o nome da tabela for a tabela de origem de uma vista materializada, pode especificar a seguinte propriedade como parte do .rename
comando:
.rename
table
OldNameto
NewNamewith (updateMaterializedViews=true)
O nome da tabela será mudado e todas as vistas materializadas que referenciem OldName serão atualizadas para apontar para NewName, de forma transacional.
Nota
O comando só funcionará se a tabela de origem for referenciada diretamente na consulta de vista materializada. Se a tabela de origem for referenciada a partir de uma função armazenada invocada pela consulta de visualização, o comando falhará, uma vez que o comando não consegue atualizar a função armazenada.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários