Re: Error al definir una función

From: Ing(dot) Yunior Bauta Pentón <ypenton(at)uci(dot)cu>
To: Néstor Seguí Martínez <nessemar(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Error al definir una función
Date: 2011-09-27 20:10:48
Message-ID: 1057021747.4463481317154248977.JavaMail.root@ucimail4.uci.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El problema está en la línea ROWS ejecuta estó y listo. No retornarás como máximo 1000 filas solo una.

CREATE OR REPLACE FUNCTION srm_dame_num(text)
RETURNS integer AS
$BODY$
DECLARE
rec integer;
BEGIN
SELECT INTO rec relnatts FROM pg_class WHERE relname= $1;
RETURN rec;
END;
$BODY$
LANGUAGE plpgsql VOLATILE STRICT
COST 100;
ALTER FUNCTION srm_dame_num(text) OWNER TO postgres;

----- Mensaje original -----
De: "Néstor Seguí Martínez" <nessemar(at)gmail(dot)com>
Para: pgsql-es-ayuda(at)postgresql(dot)org
Enviados: Lunes, 26 de Septiembre 2011 9:24:45 GMT -04:30 Caracas
Asunto: [pgsql-es-ayuda] Error al definir una función

Hola, tengo un problema con la definición de la siguiente función

CREATE OR REPLACE FUNCTION srm_dame_num(text)
RETURNS integer AS
$BODY$
DECLARE
rec integer;
BEGIN
SELECT INTO rec relnatts FROM pg_class WHERE relname= $1;
RETURN rec;
END;
$BODY$
LANGUAGE plpgsql VOLATILE STRICT
COST 100
ROWS 1000;
ALTER FUNCTION srm_dame_num(text) OWNER TO postgres;

Pretendo que la función reciba como parámetro el nombre de la tabla y me devuelva en un integer el número de campos.

Pero al tratar de definir la función obtengo este mensaje de error

"ERROR: ROWS is not applicable when function does not return a set
SQL state: 22023"

El error 22023 corresponde a un INVALID PARAMETER VALUE

El caso es que no consigo averiguar donde está el posible error. ¿alguna ayuda?

Muchas gracias por vuestro tiempo.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Javier Aquino H. 2011-09-27 20:12:31 RE: particiones
Previous Message Alvaro Herrera 2011-09-27 19:36:02 Re: particiones