Código:
y en la funcion me dice que el ORDER SIBLINGS BY no es validoSELECT s.id_seccion AS id_seccion, ordenS, LPAD ('-', (s.nivel - 1) * 1, '-') || s.nombre AS nombrearbol, s.fk_id_modulo AS fk_id_modulo, CASE (s.habilitado) WHEN '1' THEN 'Si' ELSE 'No' END AS habilitado FROM (SELECT s1.*, itf.orden as ordenS, LEVEL AS nivel FROM secciones s1 LEFT JOIN items_front itf ON itf.fk_id_seccion = s1.id_seccion WHERE s1.borrado = '0' CONNECT BY PRIOR s1.id_seccion = s1.fk_id_seccion START WITH s1.fk_id_seccion IS NULL ORDER SIBLINGS BY ordenS) s
Necesitaria saber si es posible usar el SIBLINGS dentro de las funciones y de que forma y si no alguna opcion para poder ordenar los hijos por el campo que yo desee.
dejo tambien el codigo de la funcion
Gracias
Código:
CREATE OR REPLACE FUNCTION get_arbol_secciones_back RETURN secciones_back_type_table PIPELINED AS v_MyType secciones_back_type; BEGIN FOR recMenu IN ( SELECT s.id_seccion AS id_seccion, ordenS, LPAD ('-', (s.nivel - 1) * 1, '-') || s.nombre AS nombrearbol, s.fk_id_modulo AS fk_id_modulo, CASE (s.habilitado) WHEN '1' THEN 'Si' ELSE 'No' END AS habilitado FROM (SELECT s1.*, itf.orden as ordenS, LEVEL AS nivel FROM secciones s1 LEFT JOIN items_front itf ON itf.fk_id_seccion = s1.id_seccion WHERE s1.borrado = '0' CONNECT BY PRIOR s1.id_seccion = s1.fk_id_seccion START WITH s1.fk_id_seccion IS NULL ORDER SIBLINGS BY ordenS) s ) LOOP v_MyType := secciones_back_type(recMenu.id_seccion, recMenu.nombrearbol, recMenu.fk_id_modulo, recMenu.habilitado); PIPE ROW(v_MyType); END LOOP; RETURN; END get_arbol_secciones_back;