Aracılığıyla paylaş


.rename table komutu

Varolan bir tablonun adını değiştirir.

komutu, .rename tables veritabanındaki bir dizi tablonun adını tek bir işlem olarak değiştirir.

İzinler

Bu komutu çalıştırmak için en az Tablo Yöneticisi izinlerine sahip olmanız gerekir.

Sözdizimi

.renametable OldName to NewName

.renametables NewName = OldName [ifexists] [, ...]

Söz dizimi kuralları hakkında daha fazla bilgi edinin.

Parametreler

Ad Tür Zorunlu Açıklama
Eski Ad string ✔️ Varolan bir tablonun adı. OldName belirtilmemişse ifexists mevcut bir tabloyu adlandırmazsa bir hata oluşur ve komutun tamamı başarısız olur.
Yeni Ad string ✔️ EskiAdı olarak adlandırılan tablonun yeni adı.
ifexists string Belirtilirse, komutu tablonun mevcut olmadığı senaryoyu işler. Başarısız olmak yerine, var olmayan tabloyu yeniden adlandırmaya çalışmadan devam eder.

Açıklamalar

Bu komut yalnızca kapsamdaki veritabanı tablolarında çalışır. Tablo adları küme veya veritabanı adlarıyla nitelenemez.

Bu komut yeni tablolar oluşturmaz ve var olan tabloları kaldırmaz. komutu tarafından açıklanan dönüştürme, veritabanındaki tablo sayısı değişmeyecek şekilde olmalıdır.

Komutu, yukarıdaki kurallara uydukları sürece tablo adlarını veya daha karmaşık permütasyonları değiştirmeyi destekler. Örneğin, verileri birden çok hazırlama tablosuna alın ve sonra bunları tek bir işlemdeki mevcut tablolarla değiştirin.

Örnekler

Şu tabloları içeren bir veritabanı düşünün: A, B, Cve A_TEMP. Aşağıdaki komut değiştirilecek ve (böylece A_TEMP tablo artık olarak adlandırılacak Ave tam tersi olacak), olarak yeniden adlandırılacak B NEWBve olduğu gibi kalacaktırC.A_TEMP A

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

Aşağıdaki komut dizisi:

  1. Yeni bir geçici tablo oluşturur
  2. Varolan veya var olmayan bir tabloyu yeni tabloyla değiştirir
// 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

Gerçekleştirilmiş görünümün kaynak tablosunu yeniden adlandırma

Yeniden adlandırılan tablo gerçekleştirilmiş bir görünümün kaynak tablosuysa, komutun bir parçası .rename olarak aşağıdaki özelliği belirtebilirsiniz:

.renametable OldName to NewName with (updateMaterializedViews=true)

Tablo yeniden adlandırılacak ve OldName'e başvuran tüm gerçekleştirilmiş görünümler, işlemsel bir şekilde NewName'e işaret edecek şekilde güncelleştirilir.

Not

Komut yalnızca kaynak tabloya doğrudan gerçekleştirilmiş görünüm sorgusunda başvurulsa çalışır. Kaynak tabloya görünüm sorgusu tarafından çağrılan bir saklı işlevden başvurulursa, komut saklı işlevi güncelleştiremediğinden komut başarısız olur.