Anonyme Beispiel-Blockabfragen
Die folgende Abfrage zeigt ein Beispiel für die Verkettung von SQL-Anweisungen. Weitere Informationen zur verwendeten SQL-Syntax finden Sie unter SQL-Syntax in Query Service.
$$ BEGIN
CREATE TABLE ADLS_TABLE_A AS SELECT * FROM ADLS_TABLE_1....;
....
CREATE TABLE ADLS_TABLE_D AS SELECT * FROM ADLS_TABLE_C....;
EXCEPTION WHEN OTHER THEN SET @ret = SELECT 'ERROR';
END
$$;
Im folgenden Beispiel behält SET
das Ergebnis einer SELECT
-Abfrage in der angegebenen lokalen Variablen. Die Variable wird dem anonymen Block zugeordnet.
Die Snapshot-ID wird als lokale Variable (@current_sid
) gespeichert. Sie wird dann in der nächsten Abfrage verwendet, um Ergebnisse basierend auf SNAPSHOT aus demselben Datensatz/derselben Tabelle zurückzugeben. Weitere Informationen zur Snapshot-Klausel finden Sie in der SQL-Syntax-Dokumentation.
$$ BEGIN
SET @current_sid = SELECT parent_id FROM (SELECT history_meta('your_table_name')) WHERE is_current = true;
CREATE temp table abcd_temp_table AS SELECT count(1) FROM your_table_name SNAPSHOT SINCE @current_sid;
END
$$;
Anonymer Block mit Drittanbieter-Clients
Bestimmte Drittanbieter-Clients benötigen möglicherweise eine separate Kennung vor und nach einem SQL-Block, um anzugeben, dass ein Teil des Skripts als einzelne Anweisung gehandhabt werden soll. Wenn Sie bei der Verwendung des Abfrage-Services mit einem Drittanbieter-Client eine Fehlermeldung erhalten, sollten Sie sich bezüglich der Verwendung eines SQL-Blocks in der Dokumentation des Drittanbieter-Clients informieren.
Beispielsweise erfordert DbVisualizer, dass das Trennzeichen der einzige Text in der Zeile ist. In DbVisualizer ist der Standardwert für die Anfangskennung --/
und für die Endkennung /
. Ein Beispiel für einen anonymen Block in DbVisualizer finden Sie unten:
--/
$$ BEGIN
CREATE TABLE ADLS_TABLE_A AS SELECT * FROM ADLS_TABLE_1....;
....
CREATE TABLE ADLS_TABLE_D AS SELECT * FROM ADLS_TABLE_C....;
EXCEPTION WHEN OTHER THEN SET @ret = SELECT 'ERROR';
END
$$;
/
Insbesondere für DbVisualizer gibt es in der Benutzeroberfläche auch eine Option zum "Execute the complete buffer as one SQL statement". Weitere Informationen finden in der DokumentationDbVisualizer“.
Nächste Schritte
Durch das Lesen dieses Dokuments verstehen Sie nun anonyme Blöcke und ihre Struktur besser. Weitere Informationen zum von Abfragen findenim „Handbuch zur Abfrageausführung“.
Sie sollten auch das Thema über Verwendung anonymer Blöcke mit dem Design-Muster zum inkrementellen Laden“ lesen um die Abfrageeffizienz zu erhöhen.