Re: Ayuda con function

From: Mario Gonzalez <gonzalemario(at)gmail(dot)com>
To: Yazmina Gajardo <yamapy83(at)gmail(dot)com>
Cc: postgreSQL <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Ayuda con function
Date: 2006-01-18 12:08:44
Message-ID: 2065a6cf0601180408j12ecba8fj@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On 18/01/06, Yazmina Gajardo <yamapy83(at)gmail(dot)com> wrote:
> Holas: Lo que pasa es que estoy llamando a un funcion PLPGSQL desde php.
> Pero cuando lo hago andar, me arroja, entre tantos errores, este:
>
> Warning: pg_exec(): Query failed: ERROR: no existe la función
> subtotal("unknown") HINT: Ninguna función coincide en el nombre y tipos de
> argumentos. Puede desear agregar conversión explícita de tipos. i
>
> La funcion la llamo desde php asi:
>
> $sql1= "select
> subtotal('".$nombre_insumo.",".$cant_insumo."')";

uufff, esas concatenaciones molestan demasiado a leer el codigo ; \

$sql1 = "SELECT * FROM subtotal('$nombre_insumo', $cant_insumo)";
Ve como anda esa linea.

> $subtotal= pg_Exec($conectar,$sql1);
> $result= pg_fetch_row($subtotal,0);
> pg_free_result($subtotal);
>
> y la function es:
>
> CREATE OR REPLACE FUNCTION subtotal("varchar", int4)
> RETURNS int4 AS
> 'DECLARE
> nombre ALIAS FOR $1;
> cant_insumo ALIAS FOR $2;
> cost_inicial int4 := 0;
> subtotal int4:=0;
> BEGIN
> SELECT costo_inicial_insumo INTO cost_inicial FROM insumo WHERE
> nombre_insumo=nombre;
> subtotal= (cost_inicial*cant_insumo);
> RETURN subtotal;
> END;'
> LANGUAGE 'plpgsql' VOLATILE;
>
> Lo que a mi me parece, es que el tipo de valores que hago ingresar en el
> plpgsql, no son los mismos que ingresan desde el comando php. Alli ingresar
> valores que son de tipo texto, osea que estan en una caja de texto.
>
> Esta function subtotal busca en una tabla llamada insumo, el costo de un
> insumo determinado, y luego este costo, lo multiplica por la cantidad de
> insumo, que un cliente escoge por medio d un formulario
>
> Tendre que convertir el tipo de variables, o estoy haciendo algo mal?
> Ojala me colaboren,
>
> De antemano muchas Gracias!

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Carlos 2006-01-18 12:18:49 {Spam?} funcion recursiva
Previous Message Yazmina Gajardo 2006-01-18 11:48:43 Ayuda con function