From: | Miguel Rodríguez Penabad <penabad(at)gmail(dot)com> |
---|---|
To: | foro postgresql <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Creando funciones |
Date: | 2010-05-27 14:08:55 |
Message-ID: | AANLkTilDrJuUJ_hN4r0OhQhmVWSMWIrJGc7aCV3ud6HI@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Nada, olvida mi correo anterior. Conté mal los paréntesis y pensé que
debería devolver un único valor.
El problema que vi tratando de reproducir tu "create function"
es que el tipo de datos "double" no existe, es "double precision".
Así, probando:
=> drop function regresion(int,numeric);
DROP FUNCTION
penabad=> CREATE FUNCTION regresion(int,numeric) RETURNS TABLE(A
double precision, B double precision,
R2 double precision)
AS $$select
exp(regr_intercept(ln($2),ln($1/10.0))),regr_slope(ln($2),ln($1/10.0)),regr_r2(ln($2),ln($1/10.0))$$
LANGUAGE SQL;
CREATE FUNCTION
=> select regresion(1,2);
regresion
-----------------------------------------
(1.09770357551321,-0.260946327683616,1)
(1 row)
Como no tengo idea de lo que devuelven esas funciones de regresión, no
sé si es lo que quieres, pero al menos devuelve algo ;)
Saludos
--
Miguel Rodríguez Penabad
From | Date | Subject | |
---|---|---|---|
Next Message | Jorge Tornero | 2010-05-27 15:19:16 | RE: Creando funciones |
Previous Message | Miguel Rodríguez Penabad | 2010-05-27 14:03:04 | Re: Creando funciones |