Salve,
premetto che conosco la sintassi t-sql pochissimo purtroppo.
Ho necessità di implementare una query ricorsiva per estrapolare da una tabella un albero.
La tabella si chiama macchina_ha_componenti in cui ci sono coppie macchina-componente in base alla relazione che c'è appunto tra la macchina e i pezzi che la compongono. Chiaramente ogni componente può essere a sua volta composto da altri componenti.

MACCHINA_HA_COMPONENTI

| codice macchina | codice componente | altre colonne, ... |
M1 C1
M2 C1
C1 C3
M1 M2



quello che voglio costruire con la query ricorsiva è un albero del tipo

M1
|------> C1 ----->C3
|
|------->M2

M2
|------> C1 -----> C3


codice:
CREATE PROCEDURE ricosive_func(IN codice_macchina varchar(20))
BEGIN

SET @result = SELECT * FROM macchina_ha_componenti WHERE codice=codice_macchina

WHILE(@result)
IF count(@result) > 0 THEN call ricorsive_func(@result)
ELSE
INSERT INTO nuova_tabella....VALUES ....


END


call ricorsive_func('171c')
Chiedo scusa per gli errori di sintassi! Ho scritto un minimo di codice per far capire cosa vorrei implementare.
Grazie