Ir al contenido


Foto

Ayuda conProcedures en postgresql


  • Por favor identifícate para responder
1 respuesta en este tema

#1 ByDraker

ByDraker

    Newbie

  • Miembros
  • Pip
  • 1 mensajes

Escrito 04 diciembre 2012 - 07:57

Necesito saber por que no me retorna los campos que necesito:

CREATE OR REPLACE FUNCTION ctotal
  (IN _campana integer,
    OUT columna1 character varying(20),
    OUT columna2 character varying(250),
    OUT columna3 bigint
  )
RETURNS setof record AS
$BODY$

BEGIN
return query select a.codcliente as codcliente,max(cl.nombrecompleto) as nombrecompleto,max(a.idasignaciones) as idasignaciones from asignaciones a left join cliente cl on a.codcliente = cl.codcliente left join cuentas c on a.codcliente = c.codcliente left join gestion g on a.codcliente = g.codcliente where a.idcampana = _campana group by a.codcliente;
END;
$BODY$
LANGUAGE 'plpgsql';


de esta manera le paso parametro.
select ctotal('42');

  • 0

#2 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 04 diciembre 2012 - 08:31

Saludos y bienvenido a DelphiAccess :)

De acuerdo al error que me comentas en el blog,  el problema puede estar en la declaración de los parámetros de salida. Podrías probar modificando a declaración de CHARACTER VARYING(20) a varchar(20) y probar nuevamente?

Por cierto, la llamada debe ser de la siguiente manera:

Select * From ctotal(42);


Saludos cordiales.
  • 0




IP.Board spam blocked by CleanTalk.