UNDROP TABLE

Stellt die neueste Version einer entfernten Tabelle wieder her.

Siehe auch:

CREATE TABLE, ALTER TABLE, DROP TABLE, SHOW TABLES, DESCRIBE TABLE

Syntax

UNDROP TABLE <name>
Copy

Parameter

name

Gibt den Bezeichner für die wiederherzustellende Tabelle an. Wenn der Bezeichner Leerzeichen oder Sonderzeichen enthält, muss die gesamte Zeichenfolge in doppelte Anführungszeichen gesetzt werden. Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß- und Kleinschreibung zu beachten.

Nutzungshinweise

  • Tabellen können nur in der Datenbank und dem Schema wiederhergestellt werden, die die Tabelle zum Zeitpunkt des Löschens enthielten. Wenn Sie zum Beispiel die Tabelle t1 im Schema s1 erstellen und löschen, dann das aktuelle Schema in s2 ändern und versuchen, die Tabelle t1 über ID (oder den qualifizierten Namen s1.t1) wiederherzustellen, wird die Tabelle t1 im Schema s1 und nicht im aktuellen Schema s2 wiederhergestellt.

  • Wenn bereits eine Tabelle mit dem gleichen Namen vorhanden ist, wird ein Fehler zurückgegeben.

  • Wenn Sie mehrere gelöschte Tabellen mit dem gleichen Namen haben, können Sie das Schlüsselwort IDENTIFIER mit dem vom System generierten Bezeichner (aus Ansicht TABLES) verwenden, um anzugeben, welche Tabelle wiederhergestellt werden soll. Der Name der wiederhergestellten Tabelle bleibt derselbe. Siehe Beispiele.

    Bemerkung

    Sie können den vom System generierten Bezeichner nur mit dem Schlüsselwort IDENTIFIER() verwenden, wenn Sie den Befehl UNDROP für Tabellen, Schemas und Datenbanken ausführen.

  • UNDROP stützt sich auf die Snowflake-Funktion Time Travel. Ein Objekt kann nur wiederhergestellt werden, wenn es innerhalb der Datenaufbewahrungsfrist gelöscht wurde. Der Standardwert ist 24 Stunden.

  • Sie können eine Hybridtabelle nicht zurücksetzen.

Beispiele

Grundlegendes Beispiel

Stellen Sie die neueste Version einer entfernten Tabelle wieder her (dieses Beispiel baut auf den Beispielen für DROP TABLE auf):

UNDROP TABLE t2;
Copy
+---------------------------------+
| status                          |
|---------------------------------|
| Table T2 successfully restored. |
+---------------------------------+

UNDROP Sie eine Tabelle mithilfe mit der Tabelle ID

Eine gelöschten Tabelle durch ID mit IDENTIFIER() wiederherstellen. Sie können die Tabellen-ID der spezifischen Tabelle, die Sie löschen möchten, mithilfe der Spalte table_id in der Datei Ansicht TABLES finden. Wenn Sie zum Beispiel mehrere gelöschte Tabellen mit dem Namen my_table haben und die vorletzte gelöschte Tabelle my_table wiederherstellen möchten, gehen Sie wie folgt vor:

  1. Suchen Sie die Tabellen-ID der gelöschten Tabelle in der Account Usage TABLES-Ansicht:

    SELECT table_id,
      table_name,
      table_schema,
      table_catalog,
      created,
      deleted,
      comment
    FROM SNOWFLAKE.ACCOUNT_USAGE.TABLES
    WHERE table_catalog = 'DB1'
    AND table_schema = 'S1'
    AND table_name = 'MY_TABLE'
    AND deleted IS NOT NULL
    ORDER BY deleted;
    
    Copy
    +----------+------------+--------------+---------------+-------------------------------+-------------------------------+---------+
    | TABLE_ID | TABLE_NAME | TABLE_SCHEMA | TABLE_CATALOG | CREATED                       | DELETED                       | COMMENT |
    |----------+------------+--------------+---------------+-------------------------------+-------------------------------+---------|
    |   408578 | MY_TABLE   | S1           | DB1           | 2024-07-01 15:39:07.565 -0700 | 2024-07-01 15:40:28.161 -0700 | NULL    |
    +----------+------------+--------------+---------------+-------------------------------+-------------------------------+---------+
    |   408607 | MY_TABLE   | S1           | DB1           | 2024-07-01 17:43:07.565 -0700 | 2024-07-01 17:44:28.161 -0700 | NULL    |
    +----------+------------+--------------+---------------+-------------------------------+-------------------------------+---------+
    
  2. my_table nach Tabelle-ID wiederherstellen. Um die vorletzte gelöschte Tabelle wiederherzustellen, verwenden Sie die Tabelle ID 408578 aus der Ausgabe der vorherigen Anweisung. Nachdem Sie die folgende Anweisung ausgeführt haben, wird die Tabelle unter ihrem ursprünglichen Namen wiederhergestellt, my_table:

    UNDROP TABLE IDENTIFIER(408578);
    
    Copy