PROCEDURE solve (my_problem IN varchar2) IS BEGIN my_idea := have_great_idea (my_problem) ; my_code := start_coding (my_idea) ; IF i_hit_complications (my_idea) THEN new_problem := the_complications (my_idea); solve (new_problem); ELSE NULL; --we will never get here END IF; END solve;
This abuse of recursion was inspired by @ThePracticalDev !