Was ist der Unterschied zwischen einem Common Table Expression (CTE) und einer temporären Tabelle? Und wann soll ich eins übereinander verwenden? CTE WITH cte (Column1, Column2, Column3) AS ( SELECT Column1, Column2, Column3 FROM SomeTable ) SELECT * FROM cte Temp-Tabelle SELECT Column1, Column2, Column3 INTO #tmpTable FROM SomeTable SELECT …
Diese Frage wurde von Stack Overflow migriert, da sie in Stack Exchange für Datenbankadministratoren beantwortet werden kann. Vor 7 Jahren migriert . Von msdn : Im Gegensatz zu einer abgeleiteten Tabelle kann ein CTE selbstreferenzierend sein und in derselben Abfrage mehrfach referenziert werden. Ich benutze CTEs ziemlich oft, aber ich …
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 …
Normalerweise erstelle ich Planhinweise, indem ich zuerst eine Abfrage erstelle, die den richtigen Plan verwendet, und diese dann in die ähnliche Abfrage kopiere, die dies nicht tut. Dies ist jedoch manchmal schwierig, insbesondere wenn die Abfrage nicht genau gleich ist. Was ist der richtige Weg, um Planungsleitfäden von Grund auf …
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 …
Gibt es eine Möglichkeit, mehrere Operationen mit der WITHAnweisung auszuführen ? Etwas wie WITH T AS ( SELECT * FROM Tbl ) BEGIN OPEN P_OUTCURSOR FOR SELECT * FROM T; SELECT COUNT(*) INTO P_OUTCOUNT FROM T; END; Ich möchte einige Daten und deren Anzahl auswählen ...
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 …
Update unten Ich habe eine Kontentabelle mit einer typischen Konto- / übergeordneten Kontenarchitektur, um eine Kontenhierarchie darzustellen (SQL Server 2012). Ich habe eine VIEW mit einem CTE erstellt, um die Hierarchie auszusortieren, und im Großen und Ganzen funktioniert es wunderbar und wie beabsichtigt. Ich kann die Hierarchie auf jeder Ebene …
Ich hoffe nur, meine Beobachtung zu bestätigen und eine Erklärung zu erhalten, warum dies geschieht. Ich habe eine Funktion definiert als: CREATE OR REPLACE FUNCTION "public"."__post_users_id_coin" ("coins" integer, "userid" integer) RETURNS TABLE (id integer) AS ' UPDATE users SET coin = coin + coins WHERE userid = users.id RETURNING users.id' …
Ich habe mir gerade einen Beitrag zu StackOverflow angesehen, in dem Aaron Bertrand vorschlägt, einen CTE anstelle einer Nummerntabelle zu verwenden, was eine elegante Möglichkeit darstellt, die anstehende Aufgabe auszuführen. Meine Frage ist, warum die erste Zeile des WAK mit einem Semikolon beginnt. ;WITH n AS (SELECT TOP (10000) n …
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 …
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. …
In PostgreSQL 9.5 wird anhand einer einfachen Tabelle Folgendes erstellt: create table tbl ( id serial primary key, val integer ); Ich führe SQL aus, um einen Wert einzufügen, und aktualisiere ihn dann in derselben Anweisung: WITH newval AS ( INSERT INTO tbl(val) VALUES (1) RETURNING id ) UPDATE tbl …
Bei der Diskussion einer rekursiven CTE-Lösung für diese Frage: Holen Sie sich die letzten 5 unterschiedlichen Werte für jede ID @ypercube stieß auf eine überraschende Ausnahme, die uns veranlasste, den Umgang mit Typmodifikatoren zu untersuchen. Wir fanden überraschendes Verhalten. 1. Type Cast behält in einigen Kontexten den Typmodifikator bei Auch …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.