Adobe Experience Platform Query Service unterstützt anonyme Bausteine. Mit der Funktion für anonyme Bausteine können Sie eine oder mehrere SQL-Anweisungen ketten, die nacheinander ausgeführt werden. Sie ermöglichen auch die Möglichkeit der Ausnahmebehandlung.
Die Funktion für anonyme Bausteine bietet eine effiziente Möglichkeit, eine Abfolge von Vorgängen oder Abfragen durchzuführen. Die Kette von Abfragen innerhalb des Blocks kann als Vorlage gespeichert und für eine bestimmte Zeit oder ein bestimmtes Intervall geplant werden. Diese Abfragen können zum Schreiben und Anhängen von Daten verwendet werden, um einen neuen Datensatz zu erstellen. Sie werden normalerweise dort verwendet, wo Sie eine Abhängigkeit haben.
Die Planung von Abfragen mithilfe anonymer Bausteine ist derzeit nur über das Query Service API. Weitere Informationen finden Sie in der Dokumentation für vollständige Anweisungen zur Planung von Abfragen über die API.
Die Tabelle enthält eine Aufschlüsselung der Hauptabschnitte des Blocks: Ausführung und Ausnahmebehandlung. Die Abschnitte werden durch die Schlüsselwörter definiert BEGIN
, END
und EXCEPTION
.
sein muss | description |
---|---|
execution | Ein ausführbarer Abschnitt beginnt mit dem Suchbegriff BEGIN und endet mit dem Keyword END . Alle Anweisungen, die in der BEGIN und END Suchbegriffe werden nacheinander ausgeführt und stellt sicher, dass nachfolgende Abfragen erst ausgeführt werden, nachdem die vorherige Abfrage in der Sequenz abgeschlossen wurde. |
Ausnahmebehandlung | Der optionale Abschnitt zur Ausnahmebehandlung beginnt mit dem Schlüsselwort . EXCEPTION . Sie enthält den Code zum Erfassen und Verarbeiten von Ausnahmen, falls eine der SQL-Anweisungen im Ausführungsabschnitt fehlschlägt. Wenn eine der Abfragen fehlschlägt, wird der gesamte Block angehalten. |
Beachten Sie, dass ein Block eine ausführbare Anweisung ist und daher in anderen Blöcken verschachtelt werden kann.
Es wird dringend empfohlen, Ihre Abfragen für kleinere Datensätze zu testen und sicherzustellen, dass sie erwartungsgemäß funktionieren. Wenn bei einer Abfrage ein Syntaxfehler auftritt, wird die Ausnahme ausgelöst und der gesamte Block wird abgebrochen. Nachdem Sie die Integrität der Abfragen überprüft haben, können Sie mit ihrer Verkettung beginnen. Dadurch wird sichergestellt, dass der Block wie erwartet funktioniert, bevor Sie ihn in Betrieb nehmen.
Die folgende Abfrage zeigt ein Beispiel für die Verkettung von SQL-Anweisungen. Siehe SQL-Syntax in Query Service für weitere Informationen zur verwendeten SQL-Syntax.
$$ 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: SET
behält das Ergebnis eines SELECT
Abfrage in der angegebenen lokalen Variablen. Die Variable wird auf den anonymen Block übertragen.
Die Snapshot-ID wird als lokale Variable (@current_sid
). Sie wird dann in der nächsten Abfrage verwendet, um Ergebnisse basierend auf SNAPSHOT aus demselben Datensatz/derselben Tabelle zurückzugeben.
Ein Datenbank-Snapshot ist eine schreibgeschützte statische Ansicht einer SQL Server-Datenbank. Für mehr Informationen zur Snapshot-Klausel Weitere Informationen finden Sie in der Dokumentation zur SQL-Syntax .
$$ 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
$$;
Durch Lesen dieses Dokuments erhalten Sie jetzt ein klares Verständnis der anonymen Bausteine und ihrer Struktur. Weitere Informationen zur Ausführung von Abfragen, lesen Sie bitte das Handbuch zur Ausführung von Abfragen in Query Service.
Sie sollten auch Verwendung des anonymen Bausteins mit dem Muster für das inkrementelle Laden , um die Abfrageeffizienz zu erhöhen.