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" <cton...@gmail.com>
> Para: "Lista PostgreSql" <pgsql-es-ayuda@postgresql.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@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a