with T1 as
( select tree.* from tree where parent_id = 2
union all
select tree.* from tree
join T1 on (tree.parent_id=T1.id)
)
select * from T1
このクエリは、階層ツリー内のすべての子ノードを選択します。
私がする必要があるのは、上記のクエリから返されたすべての結果を使用して、[level] というフィールドを 1 ずつ更新することです。
いくつかの順列を試してみましたが、派生テーブルを更新できないというエラーが表示されます