Her er et eksempel på et script, der bruger almindeligt tabeludtryk:
with recursive sumthis(id, val) as (
select id, value
from example
where id = :selectedid
union all
select C.id, C.value
from sumthis P
inner join example C on P.id = C.parentid
)
select sum(val) from sumthis
Scriptet ovenfor opretter en 'virtuel' tabel kaldet sumthis
der har kolonner id
og val
. Det er defineret som resultatet af to valg sammenlagt med union all
.
Først select
henter roden (where id = :selectedid
).
Andet select
følger børnene af de tidligere resultater iterativt, indtil der ikke er noget at returnere.
Slutresultatet kan derefter behandles som en normal tabel. I dette tilfælde summeres værdikolonnen.