Aracılığıyla paylaş


TABLONUN DAMLASıNı KALDıR

Şunlar için geçerlidir: onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime 12.2 LTS ve üzeri

Komut, UNDROP Unity Kataloğu'nda bulunan yönetilen veya dış tabloların yanlışlıkla bırakılması veya silinmesiyle ilgili endişeyi giderir. Varsayılan olarak bu komut verilen tablo adının kullanıcısının sahip olduğu en son bırakılan tablonun damlalarını (kurtarır) kullanır. Üst şema ve katalog mevcut olmalıdır. Bu özellik, 7 günlük saklama süresi içinde bırakılan tabloları kurtarmayı destekler.

Aynı ada sahip birden çok bırakılan tablo varsa, tablo kimliğini tanımlamak ve belirli bir tabloyu kurtarmak için SHOW TABLES DROPPED kullanabilirsiniz UNDROP TABLE WITH ID .

Kurtarmak istediğiniz tabloyla aynı ada sahip bir tablo varsa, var olan tablonun adını değiştirmek için ALTER TABLE RENAME TO komutunu kullanın.

Tablo ayrıcalıkları, sütun belirtimi ve özellikler gibi tablo meta verileri kurtarılır. Birincil ve yabancı anahtar kısıtlamaları komutu tarafından UNDROP kurtarılmaz. Tablo kurtarıldıktan sonra ALTER TABLE ADD CONSTRAINT kullanarak bunları el ile yeniden oluşturun.

Sözdizimi

UNDROP TABLE { table_name | WITH ID table_id }

Parametre

  • table_name

    Geri yüklenecek tablonun adı. Ad bir zamansal belirtim içermemelidir. Tablo bulunamazsa Azure Databricks bir hata oluşturur.

  • table_id

    STRING SHOW TABLES DROPPED tarafından gösterildiği gibi tablonun UUID biçiminde bir değişmez değer.

İzinler

UNDROP TABLE aşağıdaki temel izinlerden birini gerektirir:

  • Kullanıcı, şemada USE CATALOG ve USE SCHEMA katalogda bulunan ve bulunan CREATE TABLE tablonun sahibidir.
  • Kullanıcı şemanın sahibidir ve katalogda bulunur USE CATALOG .
  • Kullanıcı, kataloğun sahibidir.
  • Kullanıcı, meta veri deposunun sahibidir.

Kullanıcı farklı bir tablo türünü kurtarıyorsa, ek izinler uygulanır. Örneğin, dış tablonun damlasını açmak için dış konumda veya depolama kimlik bilgisinde de bulunması CREATE EXTERNAL TABLE gerekir.

Bu komutu çalıştırdıktan sonra, sahiplik varsayılan olarak önceki tablo sahibine sahiptir. Gerekirse, sahiplik komutu kullanılarak ALTER TABLE değiştirilebilir.

Örnekler

-- UNDROP using the table name
> CREATE TABLE my_catalog.my_schema.my_table (id INT, name STRING);
> DROP TABLE my_catalog.my_schema.my_table;
> UNDROP TABLE my_catalog.my_schema.my_table;
  OK

-- UNDROP WITH ID
– Use SHOW TABLES DROPPED to find dropped tables
> SHOW TABLES DROPPED IN my_schema;
  catalogname schemaname tablename  tableid                              tabletype deletedat                     createdat                     updatedat                     createdby     owner         comment
  ----------- ---------- ---------- ------------------------------------ --------- ----------------------------- ----------------------------- ----------------------------- ------------- ------------- -------
  my_catalog  my_schema  my_table   6ca7be55-8f58-47a7-85ee-7a59082fd17a managed   2023-05-03 AD at 18:17:56 UTC 2023-05-03 AD at 18:17:00 UTC 2023-05-03 AD at 18:17:00 UTC alf@melmak.et alf@melmak.et
  my_catalog  my_schema  my_table   b819f397-c51f-4e60-8acc-05d4d4a7e084 managed   2023-05-04 AD at 10:20:00 UTC 2023-05-04 AD at 08:20:00 UTC 2023-05-04 AD at 08:20:00 UTC alf@melmak.et alf@melmak.et

–- Undrop a specific dropped table.
–- Here, we undrop my_table with table id '6ca7be55-8f58-47a7-85ee-7a59082fd17a'.
-- Note that the table id will be a string surrounded by single quotation marks.
> UNDROP TABLE WITH ID '6ca7be55-8f58-47a7-85ee-7a59082fd17a';
  OK

– Continuing from the example above, Now we want to undrop table with ID 'b819f397-c51f-4e60-8acc-05d4d4a7e084'.
- First, we rename the existing table
> ALTER TABLE my_table RENAME TO my_other_table
  OK
- Then we can undrop table with the name my_table
> UNDROP TABLE WITH ID 'b819f397-c51f-4e60-8acc-05d4d4a7e084'
  OK