sql >> Databáze >  >> RDS >> Sqlserver

Procházet bez kurzoru v SQL Server 2005

CTE SQL 2005 můžete použít k tomu, aby to stroj SQL dělal rekurzivně.

Výčet základních přístupů je na http://blogs.msdn.com/anthonybloesch/archive/2006/02/15/Hierarchies-in-SQL-Server-2005.aspx

Čelko má také knihu stromů v SQL, která toto vše pokrývá až do n-tého stupně.

Nebo to můžete hrubě vynutit tak, že vyberete každou úroveň do lokální proměnné tabulky a poté budete opakovat, vkládat děti s výběrem, dokud váš @@ROWCOUNT nebude nula (tj. nenajdete žádné další děti). Pokud nemáte mnoho dat, je snadné to kódovat, ale že hledáte výkon, naznačili jste tím, že nechcete kurzor.



  1. JSON_MERGE_PRESERVE() – Sloučit více dokumentů JSON v MySQL

  2. Měla by hibernace používat jedinečné sekvence pro každou tabulku?

  3. Velké množství textu - mysql nebo flatfile?

  4. Oracle - pomocí vazebné proměnné v klauzuli LIKE dynamického kurzoru