UNDROP TABLE
A következőkre vonatkozik: Databricks SQL 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
-
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 ésUSE SCHEMA
USE 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