From: | Gerardo Herzig <gherzig(at)fmed(dot)uba(dot)ar> |
---|---|
To: | "Carlos T(dot) Groero Carmona" <ctonetg(at)gmail(dot)com> |
Cc: | Lista PostgreSql <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Ayuda con función... |
Date: | 2016-08-26 01:18:02 |
Message-ID: | 481766693.807926.1472174282060.JavaMail.root@fmed.uba.ar |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
1) Creo que tu profesor de "bases de datos" se quedo en Pascal.
2) Con que argumento estas invocando a esta funcion?
----- Mensaje original -----
> De: "Carlos T. Groero Carmona" <ctonetg(at)gmail(dot)com>
> Para: "Lista PostgreSql" <pgsql-es-ayuda(at)postgresql(dot)org>
> Enviados: Jueves, 25 de Agosto 2016 21:42:38
> Asunto: [pgsql-es-ayuda] Ayuda con función...
>
>
> Hola lista, ante todo gracias por cualquier comentario o
> sugerencia...
> Tengo esta función que tiene como parámetro de entrada un número, y
> luego devuelve ese número invertido...ejemplo...entro el 531 y tiene
> que devolver el 135, la función o ejercicio tiene como principal
> características que no puedo usar ningún tipo de función o tipo de
> dato para cadena...solo puedo usar tipos de datos y funciones
> numéricas...ya la hice...y cuando la debugeo me funciona bien, pero
> cuando la ejecuto me devuelve este error:
>
>
> ERROR: invalid input syntax for integer: "31.0000000000000000"
> CONTEXT: PL/pgSQL function some_user.reverse_order(integer) line 18
> at assignment
>
>
> la función es la siguiente...
>
>
>
> CREATE OR REPLACE FUNCTION some_user.reverse_order (
> var integer
> )
> RETURNS integer AS'
> DECLARE
> var_lgh integer ;
> var_div integer :=$1::integer;
> var_s integer :=1;
> result_e integer:=0;
> tf BOOLEAN := true;
> var_x integer;
> lth integer :=trunc(log($1))+1;
> -- variable_name datatype;
> BEGIN
> if $1>0 then
> BEGIN
> WHILE tf LOOP
> var_x:=lth-var_s;
> var_lgh:=div(var_div,power(10.0,var_x)); -- dividendo
> result_e:=result_e+var_lgh*power(10,var_s-1);
> var_div:=mod(var_div,power(10.0,var_x)); -- resto
> var_s:=var_s+1;
> IF var_s>lth THEN
> tf:=false;
> end if;
> END loop;
>
> END;
> ELSE
> IF $1=0 THEN
> RAISE NOTICE ''The entered parameter is zero, please provide a
> greater than zero value.'';
> ELSE
> RAISE EXCEPTION ''The entered parameter is less than zero, please
> provide a greater than zero value.'';
> end if;
> end if;
> return result_e::integer;
> END;
> 'LANGUAGE 'plpgsql'
> VOLATILE
> CALLED ON NULL INPUT
> SECURITY INVOKER
> COST 100;
>
>
> una vez más gracias por cualquier comentario...
>
>
> Carlos
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripcin:
http://www.postgresql.org/mailpref/pgsql-es-ayuda
From | Date | Subject | |
---|---|---|---|
Next Message | José Hurtado | 2016-08-26 08:50:23 | Re: Estructura tipo diccionario o hashset |
Previous Message | Anthony Sotolongo | 2016-08-26 01:14:51 | Re: Ayuda con función... |