From: | Juan Pablo Espino <jp(dot)espino(at)gmail(dot)com> |
---|---|
To: | pgsql-es postgresql <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | sobre PL/pgSQL |
Date: | 2005-01-28 21:40:22 |
Message-ID: | 3e7daec1050128134011b9be47@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Saludos a todos, me pasó la siguiente situación trabajando con
PL/pgSQL. La siguiente función es experimentación personal para
convertir un numero entero
< 2^8 en su correspondiente binario en formato texto
CREATE FUNCTION int_to_bin(integer)
RETURNS TEXT AS
$$
DECLARE
b7 TEXT;
x ALIAS FOR $1;
BEGIN
IF x >= 128 THEN
x:=x-128; -- esta línea me da problemas
b7 := '1';
ELSE b7 := '0';
END IF;
RETURN b7;
END;
$$
LANGUAGE plpgsql;
cuando intento cargarla me sale el siguiente error
ERROR: "$1" is declared CONSTANT
CONTEXT: compile of PL/pgSQL function "int_to_bin" near line 6
pero si cambio a algo así
CREATE FUNCTION int_to_bin(integer)
RETURNS TEXT AS
$$
DECLARE
b7 TEXT;
x ALIAS FOR $1;
y integer;
BEGIN
IF x >= 128 THEN
y:=x-128;
b7 := '1';
ELSE b7 := '0';
END IF;
RETURN b7;
END;
$$
LANGUAGE plpgsql;
listo! desaparece el error, al utilizar la variable auxiliar "y", no
se por qué no me acepta x:=x-128, si alguno tiene conocimiento de qué
puede estar pasando le agradezco mucho cualquier información, saludos.
From | Date | Subject | |
---|---|---|---|
Next Message | Juanky Moral | 2005-01-28 22:55:50 | Re: sobre PL/pgSQL |
Previous Message | Ariel Romero | 2005-01-28 21:10:32 | RE: Problema con conexion desde delphi |