Si vous utilisez SQL Server 2005 ou supérieur, vous pouvez utiliser des requêtes récursives pour obtenir vos informations. Voici un exemple :
With tree (id, Name, ParentID, [level])
As (
Select id, Name, ParentID, 1
From [myTable]
Where ParentID = 0
Union All
Select child.id
,child.Name
,child.ParentID
,parent.[level] + 1 As [level]
From [myTable] As [child]
Inner Join [tree] As [parent]
On [child].ParentID = [parent].id)
Select * From [tree];
Cette requête renverra la ligne demandée par la première partie (Où ParentID =0) et toutes les sous-lignes de manière récursive. Cela vous aide-t-il ?
Je ne suis pas sûr de comprendre ce que vous voulez qu'il se passe avec votre insert. Pouvez-vous fournir plus d'informations sur le résultat attendu lorsque vous avez terminé ?
Bonne chance !