Als «cte» getaggte Fragen

8
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ß,...

8
Warum ist CTE offen für verlorene Updates?

Ich verstehe nicht, was Craig Ringer meinte, als er kommentierte: Diese Lösung kann verloren gehen, wenn die Einfügetransaktion zurückgesetzt wird. Es wird nicht überprüft, ob das UPDATE Zeilen betrifft. unter https://stackoverflow.com/a/8702291/14731 . Bitte geben Sie eine Beispielsequenz von...

8
Wie oft läuft ein CTE?

Wenn ich einen Cte wie den folgenden Code habe. Wie oft wird der Tisch abgefragt? Ich hatte den Eindruck, dass es nur einmal aufgerufen und im Speicher gespeichert wurde, aber einige meiner Abfragen, die ich ausgeführt habe, scheinen viel länger zu laufen, als sie sein sollten. Was mich glauben...

8
Verwenden eines CTE in IF EXISTS Query

Ist es möglich, in SQL Server 2012 etwas Ähnliches wie das Folgende zu tun? IF EXISTS ( WITH DATA AS ( SELECT *, ROW_NUMBER() OVER(PARTITION BY column ORDER BY Column) AS rn FROM table ) SELECT * FROM DATA WHERE rn = 2 ) BEGIN ... END Ich habe versucht, diese Syntax zu verwenden, und eine...

7
CTE-Spalte verursachte einen Überlauf - Nur Bestellen nach!

;WITH cte_Date ( DateCode_FK ) AS ( SELECT DATEADD( DAY, 1 - ROW_NUMBER() OVER ( ORDER BY so1.object_id ), GETDATE() ) FROM sys.objects so1 CROSS APPLY sys.objects so2 ) SELECT TOP 10 d.DateCode_FK FROM cte_Date d ORDER BY d.DateCode_FK DESC; Keine übermäßig interessante Abfrage, aber ich erhalte...

7
Einfaches SQL CTE-Update

Ich bin ein wenig ratlos über dieses CTE-Update: DECLARE @a TABLE (ID int, Value int); DECLARE @b TABLE (ID int, Value int); INSERT @a VALUES (1, 10), (2, 20); INSERT @b VALUES (1, 100),(2, 200); WITH cte AS ( SELECT * FROM @a ) UPDATE cte SET Value = b.Value FROM cte AS a INNER JOIN @b AS b ON...