Solucionado!
Un parámetro de salida tenía igual nombre que el de entrada y eso me armaba
un despiole.

Guillermo Villanueva




El 4 de junio de 2014, 12:01, Guillermo E. Villanueva <
[email protected]> escribió:

> perdón la línea raise notice current_query();era solo una prueba que no
> funcionó
>
> Guillermo Villanueva
>
>
>
> 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
>>
>>
>

Responder a