CREATE OR REPLACE
FUNCTION GER_CAMINHO_ARVORE
  (P_NRORG IN ORGANIZACAO.NRORG%TYPE,
   P_NRARVORE IN ARVORE.NRARVORE%TYPE,
   P_NMARVORE_ANTERIOR IN VARCHAR2 DEFAULT NULL)
RETURN VARCHAR2 IS
   V_NMARVORE VARCHAR2(4000);
   V_NRARVOREPAI NUMBER;
BEGIN
   IF P_NRARVORE IS NOT NULL THEN
      SELECT NMARVORE, NRARVOREPAI
        INTO V_NMARVORE, V_NRARVOREPAI
        FROM ARVORE
       WHERE NRORG = P_NRORG
         AND NRARVORE = P_NRARVORE;
      RETURN GER_CAMINHO_ARVORE(P_NRORG, V_NRARVOREPAI, P_NMARVORE_ANTERIOR)||'\' || P_NMARVORE_ANTERIOR || V_NMARVORE || '';
   ELSE   
      RETURN '';
   END IF;
END;
/

