UNDROP TABLE

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime 12.2 LTS és újabb

A UNDROP parancs foglalkozik a Unity Katalógusban található felügyelt vagy külső táblák véletlen elvetésének vagy törlésének aggályával. Alapértelmezés szerint ez a parancs megszakítja (helyreállítja) a megadott táblanév felhasználója által legutóbb elvetett táblát. A szülőséma és a katalógus léteznie kell. Ez a funkció támogatja az elvetett táblák 7 napos megőrzési időn belüli helyreállítását.

Ha több, azonos nevű eldobott tábla van, a TÁBLAAZONOSÍTÓ azonosításához és UNDROP TABLE WITH ID egy adott tábla helyreállításához használhatja a ELDOBOTT TÁBLÁK MEGJELENÍTÉSE parancsot.

Ha a helyreállítani kívánt táblával azonos nevű tábla található, az ALTER TABLE RENAME TO paranccsal módosítsa a meglévő tábla nevét.

A rendszer helyreállítja a tábla metaadatait – például a táblajogokat, az oszlopspekteket és a tulajdonságokat. Az elsődleges és az idegen kulcs korlátozásait a UNDROP parancs nem tudja helyreállítani. Hozza létre manuálisan az ALTER TABLE ADD CONSTRAINT használatával a tábla helyreállítása után.

Syntax

UNDROP TABLE { table_name | WITH ID table_id }

Paraméter

  • table_name

    A visszaállítandó tábla neve. A név nem tartalmazhat időbeli specifikációt. Ha a tábla nem található, az Azure Databricks hibát jelez.

  • table_id

    A STRING TÁBLA UUID-jának formájában megjelenő literál, a KIDOBOTT TÁBLÁK MEGJELENÍTÉSE által megjelenített módon.

Engedélyek

UNDROP TABLE az alábbi alapengedélyek egyikét igényli:

  • A felhasználó a tábla CREATE TABLE , a séma és USE SCHEMAUSE CATALOG a katalógus tulajdonosa.
  • A felhasználó a séma tulajdonosa, és rendelkezik USE CATALOG a katalógusban.
  • A katalógus tulajdonosa egy felhasználó.
  • A metaadattár tulajdonosa egy felhasználó.

Ha egy felhasználó más típusú táblát állít helyre, további engedélyek érvényesek. Egy külső tábla leválasztásához például a külső helyen vagy a tároló hitelesítő adatain is rendelkeznie CREATE EXTERNAL TABLE kell, amelynek léteznie kell.

A parancs futtatása után a tulajdonjog alapértelmezés szerint az előző táblatulajdonosé lesz. Szükség esetén a tulajdonjog a ALTER TABLE paranccsal módosítható.

Példák

-- 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