Dela via


.rename table command

Ändrar namnet på en befintlig tabell.

Kommandot .rename tables ändrar namnet på ett antal tabeller i databasen som en enda transaktion.

Behörigheter

Du måste ha minst table Admin behörigheter för att köra det här kommandot.

Syntax

.renametableOldNametoNewName

.renametablesNewName=OldName [ifexists] [, ...]

Läs mer om syntaxkonventioner.

Parametrar

Namn Typ Obligatorisk Beskrivning
OldName string ✔️ Namnet på en befintlig tabell. Ett fel utlöses och hela kommandot misslyckas om OldName inte namnger en befintlig tabell, såvida inte ifexists anges.
NewName string ✔️ Det nya namnet på tabellen som tidigare kallades OldName.
ifexists string Om det anges hanterar kommandot scenariot där tabellen inte finns. I stället för att misslyckas fortsätter den utan att försöka byta namn på tabellen som inte finns.

Kommentarer

Det här kommandot körs endast på tabeller i databasen i omfånget. Tabellnamn kan inte kvalificeras med kluster- eller databasnamn.

Det här kommandot skapar inte nya tabeller och tar inte heller bort befintliga tabeller. Omvandlingen som beskrivs av kommandot måste vara sådan att antalet tabeller i databasen inte ändras.

Kommandot stöder byte av tabellnamn, eller mer komplexa permutationer, så länge de följer reglerna ovan. Du kan till exempel mata in data i flera mellanlagringstabeller och sedan växla dem med befintliga tabeller i en enda transaktion.

Exempel

Föreställ dig en databas med följande tabeller: A, B, Coch A_TEMP. Följande kommando växlar A och A_TEMP (så att A_TEMP tabellen nu kallas A, och tvärtom), byter namn B till NEWBoch behåller C som den är.

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

Följande sekvens med kommandon:

  1. Skapar en ny tillfällig tabell
  2. Ersätter en befintlig eller icke-existerande tabell med den nya tabellen
// 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

Byt namn på källtabellen i en materialiserad vy

Om tabellen som byter namn är källtabellen i en materialiserad vy kan du ange följande egenskap som en del av .rename kommandot:

.renametableOldNametoNewNamewith (updateMaterializedViews=true)

Tabellen kommer att byta namn och alla materialiserade vyer som refererar till OldName uppdateras så att de pekar på NewName på ett transaktionellt sätt.

Anteckning

Kommandot fungerar bara om källtabellen refereras direkt i den materialiserade vyfrågan. Om källtabellen refereras från en lagrad funktion som anropas av vyfrågan misslyckas kommandot eftersom kommandot inte kan uppdatera den lagrade funktionen.