DROP TABLE

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime

Tablo bir EXTERNAL tablosu değilse, tabloyu siler ve tabloyla ilişkili dizini dosya sisteminden kaldırır. Tablo yoksa bir istisna atılır. Tabloyu bırakmak için tabloda MANAGE ayrıcalığına sahip olmanız, tablo sahibi olmanız veya tablonun bulunduğu şema, katalog veya meta veri deposunun sahibi olmanız gerekir.

Dış tablo söz konusu olduğunda, meta veri deposu şemasından yalnızca ilişkili meta veri bilgileri kaldırılır.

Tabloya başvuran yabancı anahtar kısıtlamaları da kaldırılır.

Tablo önbelleğe alınırsa, komutu tabloyu ve tüm bağımlılarını kaldırır.

Not veya Dikkat

Unity Kataloğu, bırakılan yönetilen tabloları kurtarmak için komutunu destekler UNDROP TABLE . Varsayılan olarak, tablolar düşürüldükten sonra 7 gün boyunca geri alınabilir ve katalog veya şema seviyesinde kurtarma süresini 0 (kurtarmayı devre dışı bırakmak için) veya 7 ila 30 gün olarak ayarlayabilirsiniz. Kurtarma süresini yapılandırmak Kamu Önizleme bölümündedir. Asenkron bir temizleme işlemi, kurtarma süresi bittikten sonra temel veri dosyalarını kalıcı olarak siler, böylece tablo artık kurtarılamaz hale geldikten sonra dosyalar bulut kiracınızda bir süre kalabilir. Bkz. Unity Kataloğu'ndayönetilen tabloyu bırakma ve Nesne depolama yaşam döngüsü.

Sözdizimi

DROP TABLE [ IF EXISTS ] table_name [ FORCE ]
DROP {TEMP | TEMPORARY} TABLE table_name [IF EXISTS]

Parametre

  • TEMP veya GEÇİCİ

    Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL

    Belirtilirse, geçici tabloyu bırakır. Oturumda bu ada sahip geçici bir tablo yoksa, komut bir TABLE_OR_VIEW_NOT_FOUND hata koşulu hatası oluşturur.

    Belirtilmezse, komut yalnızca kalıcı bir tabloyu bırakır ve oturumda aynı nitelenmemiş ada sahip geçici bir tablo varsa bir hata oluşturur. Geçici bir tablo aynı adı paylaştığında kalıcı bir tabloyu bırakmak için tam adı kullanın.

  • EĞER VARSA

    Belirtilirse, tablo mevcut olmadığında TABLE_OR_VIEW_NOT_FOUND hatası oluşmaz.

  • table_name

    Bırakılacak tablonun adı. Ad bir zamansal belirtim veya seçenek belirtimi içermemelidir. Tablo bulunamazsa Azure Databricks bir TABLE_OR_VIEW_NOT_FOUND hatası oluşturur. Bulunan ilişki bir tablo değilse Azure Databricks bir WRONG_COMMAND_FOR_OBJECT_TYPE hatası oluşturur.

  • KUVVET

    Belirtilirse, bağımlı sığ klonlar olsa bile Unity Kataloğu yönetilen bir tablo düşürülür. FORCE yalnızca çalışma alanı sığ klonlar için bırakma zamanı korumasını zorunlu kıldığı durumlarda gereklidir. Eğer bir düz DROP TABLE ile başarısız CANNOT_DROP_BASE_TABLE_REFERENCED_BY_SHALLOW_CLONEolursa, onu geçersiz kılmak için kullanın FORCE . Bkz . Basit bir kopya için temel tabloyu bırakma.

Örnekler

-- Assumes a table named `employeetable` exists.
> DROP TABLE employeetable;

-- Assumes a table named `employeetable` exists in the `userdb` schema
> DROP TABLE userdb.employeetable;

-- Assumes a table named `employeetable` does not exist.
-- Throws TABLE_OR_VIEW_NOT_FOUND
> DROP TABLE employeetable;
  Error: TABLE_OR_VIEW_NOT_FOUND

-- Assumes a table named `employeetable` does not exist. Try with IF EXISTS
-- this time it will not throw exception
> DROP TABLE IF EXISTS employeetable;

-- Assumes a table named `employeetable` exists and has a shallow clone.
-- Where the workspace enforces drop-time protection for shallow clones,
-- a plain DROP throws CANNOT_DROP_BASE_TABLE_REFERENCED_BY_SHALLOW_CLONE
> DROP TABLE employeetable;
  Error: CANNOT_DROP_BASE_TABLE_REFERENCED_BY_SHALLOW_CLONE

-- Assumes a table named `employeetable` exists and has a shallow clone.
-- Drops the base table even when it has shallow clones. The referencing shallow clones stop working.
> DROP TABLE employeetable FORCE;

-- Creates and drops a temporary table
> CREATE TEMPORARY TABLE scratchpad(txt STRING);
> DROP TEMPORARY TABLE scratchpad;