Re: error al hacer un select sobre una función

From: "Erik Ferney Cubillos Garcia" <erikferneycubillos(at)gmail(dot)com>
To: "Jaime Casanova" <jcasanov(at)systemguards(dot)com(dot)ec>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: error al hacer un select sobre una función
Date: 2008-10-29 14:33:52
Message-ID: 147151cc0810290733k540d8fe0t1ae55cbf4fd6fa4e@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

hola Jaime gracias, la verdad no habia probado con cambiar el SMALLINT por
un INTEGER, ya lo hice, y me funciona correctamente, muchas gracias luego
les comentaré

2008/10/29 Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>

> On 10/29/08, Erik Ferney Cubillos Garcia <erikferneycubillos(at)gmail(dot)com>
> wrote:
> >
> > CREATE OR REPLACE FUNCTION spnmcalpromconcepto (
> > IN PSiCodEmpr INTEGER, -- Codigo de Empresa
> > IN PDeCodEmpl NUMERIC, -- Codigo del empleado
> > IN PStNroCont CHARACTER VARYING (12), -- Número de Contrato
> > IN PDtFecInic TIMESTAMP, -- Fecha Inicial del calculo
> > IN PDtFecFina TIMESTAMP, -- Fecha Final del calculo
> > IN PSiCodConc SMALLINT, -- Codigo del concepto a promediar
> > IN PStTipProm CHARACTER VARYING (1), -- Indicador de si es con el
> > valor pagado o el valor real
> > OUT PDeValProm NUMERIC, -- Base de liquidacion
> > OUT PDePorBase NUMERIC, -- Porcentaje de Base
> > OUT PDeValBase NUMERIC, -- Base de liquidaci¢n
> > OUT PDeValIngr NUMERIC, -- Valor ingresos totales
> > OUT PDeValEgre NUMERIC, -- Valor egresos totales
> > OUT PdeBasFija NUMERIC
> > )
> > RETURNS record
> >
> [...]
> >
> > ERROR: no existe la función spnmcalpromconcepto(integer, integer,
> unknown,
> > unknown, unknown, integer, unknown)
> > LINE 2: from spnmcalpromconcepto (1, 2969397, '1', '01/09/2008', '30...
> > ^
> > HINT: Ninguna función coincide en el nombre y tipos de argumentos. Puede
> > desear agregar conversión explícita de tipos.
> >
>
> es porque el penultimo parametro es un smallint pero postgres al ver
> el 1 que pasaste de parametro piensa que es un integer, tienes que
> hacer un casteo para eso...
> si los dos puntos te dan error quiza puedas:
> - poner el select en una cadena de caracteres y con alguna sentencia
> de delphi mandarlo a ejecutar...
> - o preparar el query desde delphi (estoy adivinando, al hacer eso
> otros lenguajes permiten enviar parametros indicando el tipo de dato)?
> - o por ultimo, declaras el parametro como integer y en la funcion
> verificas que el valor no sea mayor al de un smallint
>
> --
> Atentamente,
> Jaime Casanova
> Soporte y capacitación de PostgreSQL
> Asesoría y desarrollo de sistemas
> Guayaquil - Ecuador
> Cel. +59387171157
>

--
Atentamente,

______________________________
ERIK FERNEY CUBILLOS GARCIA
Ing. Desarrollo - Kactus HR
DIGITAL WARE LTDA.
Calle 72 No. 12-65 Piso 2
Bogotá, Colombia
erikc(at)digitalware(dot)com(dot)co
www.digitalware.com.co

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Erik Ferney Cubillos Garcia 2008-10-29 14:34:41 Re: error al hacer un select sobre una función
Previous Message Jaime Casanova 2008-10-29 14:30:33 Re: error al hacer un select sobre una función