DYNAMIC_TABLES-Funktion: Neue Vorgabe für die maximale Anzahl der zurückgegebenen Zeilen¶
Achtung
Diese Verhaltensänderung ist in Bundle 2025_02 enthalten.
Den aktuellen Status des Bundles finden Sie unter Bundle-Verlauf.
Die Funktion DYNAMIC_TABLES verhält sich wie folgt:
- Vor der Änderung:
Standardmäßig gibt die Funktion alle Zeilen in einer unsortierten Reihenfolge zurück, wenn RESULT_LIMIT nicht angegeben ist. Wenn ein Konto zum Beispiel 10.000 dynamische Tabellen hat, gibt die Funktion 10.000 Zeilen zurück.
- Nach der Änderung:
Standardmäßig gibt die Funktion 100 Zeilen zurück und die Ergebnisse werden nach dem letzten abgeschlossenen Aktualisierungsstatus der dynamischen Tabelle in der folgenden Reihenfolge sortiert, sofern nicht mit dem Argument RESULT_LIMIT anders angegeben.
FAILED
UPSTREAM_FAILED
SKIPPED
SUCCEEDED
CANCELED
Um nach einer anderen Reihenfolge zu sortieren, müssen Sie einen ausreichend großen Wert für RESULT_LIMIT angeben (z. B. den Maximalwert einer Ganzzahl mit Vorzeichen). Solange RESULT_LIMIT die Gesamtzahl der dynamischen Tabellen im Konto übersteigt, können die Ergebnisse mit einer ORDER BY-Klausel sortiert werden.
Um einen Filter auf die Ergebnisse anzuwenden, geben Sie auch einen ausreichend großen Wert RESULT_LIMIT an, damit der Filter auf alle dynamischen Tabellen angewendet wird.
Beispiele:
Das folgende Beispiel sortiert nach einer anderen Reihenfolge von
name
und gibt 100 Zeilen zurück:SELECT * FROM TABLE(INFORMATION_SCHEMA.DYNAMIC_TABLES(result_limit => <max_value>)) ORDER BY name ASC LIMIT 100 ;
Das folgende Beispiel sortiert nach einer anderen Reihenfolge von
name
und gibt alle Zeilen zurück:SELECT * FROM TABLE(INFORMATION_SCHEMA.DYNAMIC_TABLES(result_limit => <max_value>)) ORDER BY name ASC ;
Das folgende Beispiel filtert nach allen dynamischen Tabellen mit einer Zielverzögerung von 1 Minute, verwendet die Standardsortierung und gibt alle Zeilen zurück:
SELECT * FROM TABLE(INFORMATION_SCHEMA.DYNAMIC_TABLES(result_limit => <max_value>)) WHERE TARGET_LAG_SEC = 60 ;
Ref: 1928