Als «recursive» getaggte Fragen

Verwenden der Rekursion zum Lösen von Datenbankproblemen.


4
Wie funktioniert die SQL-Rekursion?
Wenn man von anderen Programmiersprachen zu SQL kommt, sieht die Struktur einer rekursiven Abfrage ziemlich seltsam aus. Gehen Sie Schritt für Schritt durch, und es scheint auseinander zu fallen. Betrachten Sie das folgende einfache Beispiel: CREATE TABLE #NUMS (N BIGINT); INSERT INTO #NUMS VALUES (3), (5), (7); WITH R AS …


2
Rekursiver CTE, um die Summe für alle Kinder zu finden
Hier ist ein Assemblybaum, den ich mithilfe einer rekursiven T-SQLAbfrage (vermutlich CTE) mit den erwarteten Ergebnissen unten durchsuchen möchte . Ich möchte den Gesamtbetrag pro Baugruppe für ein Teil erfahren. Das heißt, wenn ich nach "Rivet" suche, möchte ich die Gesamtzahl auf jeder Ebene in der Baugruppe wissen, nicht nur …

2
PostgreSQL Recursive Descendant Depth
Ich muss die Tiefe eines Nachkommens von seinem Vorfahren berechnen. Wenn ein Datensatz vorhanden ist object_id = parent_id = ancestor_id, wird er als Stammknoten (der Vorfahr) betrachtet. Ich habe versucht, eine WITH RECURSIVEAbfrage mit PostgreSQL 9.4 zum Laufen zu bringen . Ich kontrolliere weder die Daten noch die Spalten. Das …

1
Herausfiltern der Verwendung von skalarwertigen benutzerdefinierten Funktionen aus SQL Server-Überwachungsdaten
Wir haben eine SQL Server-Datenbank mit einer Datenbankprüfspezifikation, die alle ausgeführten Aktionen auf der Datenbank prüft. CREATE DATABASE AUDIT SPECIFICATION [dbAudit] FOR SERVER AUDIT [servAudit] ADD (EXECUTE ON DATABASE::[DatabaseName] BY [public]) Wir haben festgestellt, dass einige Abfragen die Verwendung einer Skalarfunktion für jede Zeile in einer Ergebnismenge in das Überwachungsprotokoll …

1
Wie sortiere ich die Ergebnisse einer rekursiven Abfrage in einer erweiterten baumartigen Weise?
Nehmen wir an, Sie haben eine nodesTabelle wie diese: CREATE TABLE nodes ( node serial PRIMARY KEY, parent integer NULL REFERENCES nodes(node), ts timestamp NOT NULL DEFAULT now() ); Es stellt eine knotenähnliche Standardbaumstruktur mit Wurzelknoten oben und mehreren untergeordneten Knoten dar, die an Wurzelknoten oder anderen untergeordneten Knoten baumeln. …



1
CTE: Holen Sie sich alle Eltern und alle Kinder in einer Aussage
Ich habe dieses funktionierende CTE-Beispiel. Ich kann alle Großeltern und alle Kinder auswählen. Aber wie kann ich alle Großeltern und alle Kinder in einer Aussage auswählen? In diesem Beispiel möchte ich Großvater, Vater, Sohn als Ausgabe, wenn ich "Vater" als Eingabe gebe. Ich benutze PostgreSQL. Aber ich denke, diese Frage …

2
Warum verwendet dieser rekursive CTE mit einem Parameter keinen Index, wenn er mit einem Literal arbeitet?
Ich verwende einen rekursiven CTE für eine Baumstruktur, um alle Nachkommen eines bestimmten Knotens im Baum aufzulisten. Wenn ich einen Literalknotenwert in meine WHEREKlausel schreibe , scheint SQL Server den CTE tatsächlich nur auf diesen Wert anzuwenden, wodurch ein Abfrageplan mit geringen tatsächlichen Zeilenzahlen usw. erstellt wird : Wenn ich …

2
Finden aller Verknüpfungen, die zum programmgesteuerten Verknüpfen einer Tabelle erforderlich sind
Bei einer SourceTable und einer TargetTable möchte ich programmgesteuert eine Zeichenfolge mit allen erforderlichen Verknüpfungen erstellen. Kurz gesagt, ich versuche einen Weg zu finden, um einen String wie diesen zu erstellen: FROM SourceTable t JOIN IntermediateTable t1 on t1.keycolumn = t.keycolumn JOIN TargetTable t2 on t2.keycolumn = t1.keycolumn Ich habe …

1
Rekursive CTE-Leistung
Benötigen Sie Hilfe bei der rekursiven CTE-Leistung? Unterhalb läuft CTE sehr langsam, da versucht wird, heirarchische Daten rekusiv abzurufen. Die Tabelle ist groß, wobei jede Root-ID bis zu 3 rekursive Element-IDs enthält. Es könnten ungefähr 200000 oder mehr Root-IDs vorhanden sein. Ich weiß, dass rekursive CTEs für große Datenmengen langsam …


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.