perdón la línea raise notice current_query();era solo una prueba que no funcionó
Guillermo Villanueva <http://ar.linkedin.com/in/guillermovillanueva> El 4 de junio de 2014, 11:57, Guillermo E. Villanueva < [email protected]> escribió: > Buenas, una función plpgsql me está dando dolores de cabeza y necesito > debuguear lo que está haciendo. > Es muy simple, tiene un return query con un select que le paso algunos > parámetros. > Concretamente la pregunta es: > Existe alguna forma de que vea el select que ejecuta la función tal cual > como la ejecuta? > Desde ya muchas gracias. > Por si quieren ver la función: El código es: > > CREATE OR REPLACE FUNCTION nacer.fn_embarazadas_sin_control(IN pt_periodo > timestamp without time zone, IN pi_cant_controles integer DEFAULT 3, > pi_semanas integer DEFAULT 34) > RETURNS TABLE(pt_nombreefector text, pv_clavebeneficiario character > varying, pv_afitipodoc character varying, > pv_afidni character varying, pv_afiapellido character varying, > pv_afinombre character varying, pc_aficlasedoc character, > pc_activo character, pv_cuieefectorasignado character varying, > pt_fechainscripcion timestamp without time zone, > pi_afitipocategoria smallint, pt_fechadiagnosticoembarazo timestamp > without time zone, pi_semanasembarazo integer, > pt_periodo timestamp without time zone, pi_controles bigint ) AS > $BODY$ > > BEGIN > RETURN QUERY > SELECT > efe_conv.nombreefector, > clavebeneficiario, > afitipodoc, > afidni, > afiapellido, > afinombre, > aficlasedoc, > activo, > cuieefectorasignado, > fechainscripcion, > afitipocategoria, > fechadiagnosticoembarazo, > semanasembarazo, > periodo, > count(id) cuenta > FROM > nacer.historicotemp h > inner join nacer.efe_conv on h.cuieefectorasignado = efe_conv.cuie > left join facturacion."trz_I_II" t on h.afidni = t.nrodoc > WHERE > h.afitipocategoria = 1 AND > h.activo = 'S' AND > ((((date_part('DAY', (pt_periodo::timestamp - > h.fechadiagnosticoembarazo::timestamp))) / 7)+ h.semanasembarazo) > > pi_semanas) AND > (h.periodo = pt_periodo::timestamp) AND > t.fechactrl > (pt_periodo::timestamp - (pt_periodo::timestamp - > h.fechadiagnosticoembarazo::timestamp - (h.semanasembarazo*7) * interval '1 > days')) > GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13,14 > having count(id) < pi_cant_controles; > raise notice current_query(); > END; > $BODY$ > LANGUAGE plpgsql > > Guillermo Villanueva > >
