Polecenie .rename table

Zmienia nazwę istniejącej tabeli.

Polecenie .rename tables zmienia nazwę kilku tabel w bazie danych jako pojedynczą transakcję.

Uprawnienia

Aby uruchomić to polecenie, musisz mieć co najmniej uprawnienia do Administracja tabeli.

Składnia

.renametableStara nazwatoNewname

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

Dowiedz się więcej o konwencjach składniowych.

Parametry

Nazwa Typ Wymagane Opis
OldName string ✔️ Nazwa istniejącej tabeli. Zostanie zgłoszony błąd i całe polecenie zakończy się niepowodzeniem, jeśli oldName nie nada istniejącej tabeli nazwę, chyba że ifexists zostanie określona.
Newname string ✔️ Nowa nazwa tabeli, która była nazywana OldName.
ifexists string Jeśli zostanie określony, polecenie będzie obsługiwać scenariusz, w którym tabela nie istnieje. Zamiast pracować z niepowodzeniem, będzie ona kontynuowana bez próby zmiany nazwy tabeli, która nie istnieje.

Uwagi

To polecenie działa tylko w tabelach bazy danych w zakresie. Nazwy tabel nie mogą być kwalifikowane przy użyciu nazw klastrów ani baz danych.

To polecenie nie tworzy nowych tabel ani nie usuwa istniejących tabel. Przekształcenie opisane przez polecenie musi być takie, że liczba tabel w bazie danych nie zmienia się.

Polecenie obsługuje zamianę nazw tabel lub bardziej złożonych permutacji, o ile są one zgodne z powyższymi regułami. Na przykład pozyskiwanie danych do wielu tabel przejściowych, a następnie zamiana ich na istniejące tabele w jednej transakcji.

Przykłady

Wyobraź sobie bazę danych z następującymi tabelami: A, B, Ci A_TEMP. Następujące polecenie spowoduje zamianę A wartości i A_TEMP (tak, aby A_TEMP tabela została teraz wywołana A, a w drugą stronę), zmień nazwę B na NEWB, i zachowaj C wartość w stanie takim, w jakim jest.

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

Następująca sekwencja poleceń:

  1. Tworzy nową tabelę tymczasową
  2. Zamienia istniejącą lub nieistniejącą tabelę na nową tabelę
// 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

Zmienianie nazwy tabeli źródłowej zmaterializowanego widoku

Jeśli zmieniana nazwa tabeli jest tabelą źródłową zmaterializowanego widoku, możesz określić następującą właściwość w ramach .rename polecenia:

.renametableStara nazwatoNewnamewith (updateMaterializedViews=true)

Nazwa tabeli zostanie zmieniona, a wszystkie zmaterializowane widoki odwołujące się do OldName zostaną zaktualizowane tak, aby wskazywały wartość NewName w sposób transakcyjny.

Uwaga

Polecenie będzie działać tylko wtedy, gdy tabela źródłowa jest przywoływana bezpośrednio w zmaterializowanym zapytaniu widoku. Jeśli tabela źródłowa jest przywoływana z funkcji przechowywanej wywoływanej przez zapytanie widoku, polecenie zakończy się niepowodzeniem, ponieważ polecenie nie może zaktualizować przechowywanej funkcji.