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