Comando di tabella rinomina

Modifica il nome di una tabella esistente.

Il .rename tables comando modifica il nome di una serie di tabelle nel database come singola transazione.

Autorizzazioni

Per eseguire questo comando, è necessario disporre almeno delle autorizzazioni table Amministrazione.

Sintassi

.renametableOldnametoNewname

.renametablesNewname=OldName [] [ifexists, ...]

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Tipo Obbligatoria Descrizione
OldName string ✔️ Nome di una tabella esistente. Viene generato un errore e l'intero comando ha esito negativo se OldName non assegna un nome a una tabella esistente, a meno che ifexists non venga specificato.
Newname string ✔️ Nuovo nome per la tabella da chiamare OldName.
ifexists string Se specificato, il comando gestirà lo scenario in cui la tabella non esiste. Invece di non riuscire, procederà senza tentare di rinominare la tabella che non esiste.

Osservazioni:

Questo comando opera solo sulle tabelle del database nell'ambito. I nomi di tabella non possono essere qualificati con nomi di cluster o database.

Questo comando non crea nuove tabelle né rimuove le tabelle esistenti. La trasformazione descritta dal comando deve essere tale che il numero di tabelle nel database non cambia.

Il comando supporta lo scambio di nomi di tabella o di permutazioni più complesse, purché siano conformi alle regole precedenti. Ad esempio, inserire dati in più tabelle di staging e quindi scambiarle con tabelle esistenti in una singola transazione.

Esempio

Si supponga che un database con le tabelle seguenti: A, B, Ce A_TEMP. Il comando seguente scambia A e A_TEMP (in modo che la A_TEMP tabella venga ora chiamata Ae l'altro modo in cui si sposta), rinomina B in NEWBe mantieni C come è.

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

Sequenza di comandi seguente:

  1. Crea una nuova tabella temporanea
  2. Sostituisce una tabella esistente o non esistente con la nuova tabella
// 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

Rinominare la tabella di origine di una vista materializzata

Se la tabella rinominata è la tabella di origine di una visualizzazione materializzata, è possibile specificare la proprietà seguente come parte del .rename comando:

.renametableOldnametoNewnamewith (updateMaterializedViews=true)

La tabella verrà rinominata e tutte le visualizzazioni materializzate che fanno riferimento a OldName verranno aggiornate per puntare a NewName, in modo transazionale.

Nota

Il comando funzionerà solo se la tabella di origine viene fatto riferimento direttamente nella query di visualizzazione materializzata. Se la tabella di origine viene fatto riferimento a una funzione archiviata richiamata dalla query di visualizzazione, il comando avrà esito negativo, poiché il comando non può aggiornare la funzione archiviata.