Re: ERROR: relation "ctr_alt" does not exist en una funcion

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Suso Lopez <jlcubas(at)terra(dot)es>
Cc: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: ERROR: relation "ctr_alt" does not exist en una funcion
Date: 2009-08-20 03:23:30
Message-ID: 20090820032330.GC6781@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Suso Lopez escribió:
> CREATE OR REPLACE FUNCTION prueba(n_cli integer, existe boolean)
> RETURNS boolean AS
> $BODY$
1> DECLARE
2>
3> valores ctr_alt%ROWTYPE; me marca error el del titulo del mensaje
4> encontrado int4;
5> BEGIN
6> SELECT cod_cli,esta FROM bloq WHERE cod_cli=n_cli ;
7>
8> IF NOT FOUND THEN
9> valores.cod_cli:=n_cli: aqui tambien me da error
10>
11> RETURN FALSE;
12> END IF;
13> IF FOUND THEN
14> RETURN true;
15> END IF;
16> END;
> $BODY$
> LANGUAGE 'plpgsql' VOLATILE

Creé esta función y las dos tablas mencionadas en ella y me funciona
perfectamente:
create table bloq (cod_cli int, esta int);
create table ctr_alt (cod_cli int);

Hice dos pequeños cambios a la función: uno es que el : al final de la
línea 9 debe cambiarse por un ;

El otro es que el SELECT de la línea 6 debe cambiarse por un PERFORM.

Luego de eso, la función anda bien. Sospecho que tu problema puede ser
que la tabla tiene nombre con mayúsculas, o bien que está en otro
esquema, o algún otro error de piloto por el estilo.

--
Alvaro Herrera http://www.advogato.org/person/alvherre
"MySQL is a toy compared to PostgreSQL." (Randal L. Schwartz)
(http://archives.postgresql.org/pgsql-general/2005-07/msg00517.php)

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2009-08-20 03:41:22 Re: ¿Existe una función en JavaScript para poder saber el Número de parametros recibidos en una función creada por el usuario?
Previous Message Alvaro Herrera 2009-08-20 03:16:54 Re: ¿Existe una función en JavaScript para poder saber el Número de parametros recibidos en una función creada por el usuario?