En rekursiv CTE, på hånden, er et CTE -uttrykk som refererer til seg selv. En rekursiv CTE fungerer ved å returnere et undergruppe og refererer deretter til den returnerer alle resultatene.
Rekursive CTE-er er nyttige når du spørrer nestet/flernivå eller hierarkiske datasett. For eksempel, hvis du har en komponent som inneholder andre data og at data inneholder andre nestede data, er en rekursiv CTE en god måte å spørre slike data.
SQL Server rekursiv CTE
Følgende viser syntaks for å utføre en rekursiv CTE:
Med Expression_name (column_list)Eksempel - Grunnleggende rekursivt CTE -eksempel
Følgende eksempel viser grunnleggende bruk av den rekursive CTE -funksjonen i SQL Server:
med CTE (n) somProduksjon:
n |Eksempel 2 - Bruke CTE for å beregne ukens dag.
Følgende eksempel viser hvordan du bruker rekursiv CTE for å bestemme antall dager i løpet av en uke.
Med cte_exec (n,Den resulterende utgangen er som vist:
Konklusjon
Dette er det grunnleggende om å jobbe med rekursive CTE -er i SQL Server.