यह RECURSIVE के साथ का एक प्रामाणिक उदाहरण है
इसे आजमाएं:
with recursive subordinates as
(select
employeid,
e.managerid,
e.managerid as leader
from employes e
where e.managerid in(select * from leaders) -- non recursive term
union
select
e.employeid,
e.managerid,
a.managerid as leader
from employes e
join subordinates a on a.employeid = e.managerid -- recursive term
) select * from subordinates
जैसा कि दस्तावेज़ीकरण में वर्णित है:
ए पुनरावर्ती के साथ हमेशा
. द्वारा रचित होता है- एक गैर-पुनरावर्ती शब्द
- यूनियन या सभी को यूनियन करें
- एक पुनरावर्ती शब्द, केवल वही जो क्वेरी आउटपुट को संदर्भित कर सकता है
जब पिछली पुनरावृत्ति का कोई आउटपुट नहीं होता है, तो पुनरावृत्ति समाप्त हो जाती है।