Re: consulta función

From: Rafael Martinez <r(dot)m(dot)guerrero(at)usit(dot)uio(dot)no>
To: Ana Claudia Smail <anasmail(at)unnoba(dot)edu(dot)ar>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: consulta función
Date: 2011-11-22 13:41:42
Message-ID: 4ECBA696.2090101@usit.uio.no
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 11/22/2011 02:15 PM, Ana Claudia Smail wrote:
> Hola a todos!
>
> Estoy teniendo un problema con una función en progresql 8.4:
>
> CREATE OR REPLACE FUNCTION getLibres(varchar(20), varchar(20)) RETURNS
> SETOF tabla1 AS
>

[.......]

> Cuando ejecuto SELECT * FROM getLibres('campo1',NULL);
>
> Me tira el siguiente error:
>
> ERROR: la sintaxis de entrada no es válida para integer: «campo1»
>
> CONTEXT: PL/pgSQL function "getlibres" line 5 at bucle FOR en torno a
> registros de un SELECT
>

Hola

El problema es que has definido la funcion con "RETURNS SETOF tabla1" y
no estas devolviendo un set de la tabla "tabla1".

Devuelves VARCHAR(255),COUNT(*).

No mandas la definicion de la tabla "tabla1", pero probablemente la
primera columna de esta tabla es "campo1"(integer) y tu funcion esta
devolviendo como primera columna un varchar.

Para arreglar esto tendrias que definir un nuevo tipo (TYPE) [1] con
VARCHAR(255),INTEGER y cambiar la definicion de la funcion para que
devuelva un SETOF de este tipo y no de la tabla "tabla1".

[1] http://www.postgresql.org/docs/9.1/interactive/sql-createtype.html

- --
Rafael Martinez Guerrero
Center for Information Technology
University of Oslo, Norway

PGP Public Key: http://folk.uio.no/rafael/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk7LppQACgkQBhuKQurGihTXyQCcC22Y/+HjkDvS7/DMCLBCYlyO
3f0An0oBO42H0d3T9+supyNJWx7ASUWf
=hYZE
-----END PGP SIGNATURE-----

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Lazaro Rubén García Martinez 2011-11-22 13:47:24 RE: consulta función
Previous Message Lazaro Rubén García Martinez 2011-11-22 13:16:03 RE: Configuración de Postgres en producción