1: function hp_neighborhood_in_subtree_p (source_node IN integer, target_node IN integer)
2: return varchar2
3: IS
4: CURSOR parent_cursor IS
5: select parent_id from users_neighborhoods
6: where neighborhood_id=target_node;
7: parentid integer;
8: BEGIN
9: OPEN parent_cursor;
10: FETCH parent_cursor INTO parentid;
11: CLOSE parent_cursor;
12:
13: IF source_node = target_node
14: THEN
15: return 't';
16: END IF;
17:
18: IF parentid is null
19: THEN
20: return 'f';
21: ELSE
22: IF parentid = source_node
23: THEN
24: return 't';
25: ELSE
26: return hp_neighborhood_in_subtree_p(source_node, parentid);
27: END IF;
28: END IF;
29: END;
|