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
Chiedo scusa per gli errori di sintassi! Ho scritto un minimo di codice per far capire cosa vorrei implementare.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')
Grazie

Rispondi quotando