Може би вече сте решили това досега, но първото нещо, което забелязах за вашата съхранена процедура е, че имате локална променлива със същото име като изходната променлива (parent_id
). Струва ми се, че задавате стойността на локалната променлива, а не на връщаната променлива, така че обаждащият се никога не вижда правилната стойност.
Може би премахване на локалния parent_id
декларацията на променлива ще реши проблема ви.