From: | Jaime Casanova <systemguards(at)gmail(dot)com> |
---|---|
To: | Luis Guevara <luis(dot)a(dot)guevara(at)gmail(dot)com> |
Cc: | postgresql <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Cambiar valor de parametro en funcion |
Date: | 2005-10-05 20:20:56 |
Message-ID: | c2d9e70e0510051320n2e91cf19i1ebf0b577c4fb02c@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On 10/5/05, Luis Guevara <luis(dot)a(dot)guevara(at)gmail(dot)com> wrote:
> Hola Amigos:
>
> Tengo la siguiente pequeña funcion:
>
> CREATE OR REPLACE FUNCTION "public"."my_addoperacion"
> (p_oper_idprocesado integer, p_archi_id integer) RETURNS boolean AS
> $body$
> DECLARE
> v_forma numeric(1,0);
> BEGIN
> SELECT INTO v_forma oper_forma FROM operacion
> WHERE oper_id=p_oper_idprocesado;
>
> IF v_forma = 0 AND p_archi_id = 2 THEN
> p_oper_idprocesado = NULL;
> END IF;
>
> INSERT INTO "operacion" (oper_idprocesado,archi_id,)
> VALUES (p_oper_idprocesado,p_archi_id);
>
> RETURN TRUE;
> END;
>
> y al momento de compilar me sale el siguiente error:
>
> ERROR: "$1" is declared CONSTANT
>
> ¿ Significa que no puedo cambiar el valor de un parámetro dentro de la
> función tal como lo estoy haciendo?>
A menos que la definicion de CONSTANTE haya cambiado, asi parece
> ¿ Existe alguna solución ?
usar otra variable? por cierto es incorrecto esto: p_oper_idprocesado = NULL;
deberia ser: p_oper_idprocesado := NULL; aunque en una variable no en
una constante.
en la version 8.1 habran parametros de salida y de entrada/salida
imagino que alli si podras hacer lo que planeabas ahorita... pero no
estoy seguro
--
Atentamente,
Jaime Casanova
(DBA: DataBase Aniquilator ;)
From | Date | Subject | |
---|---|---|---|
Next Message | Marcelo Retamal Vallejos | 2005-10-05 21:25:05 | Re: Poco espacio en el disco |
Previous Message | Jaime Casanova | 2005-10-05 20:07:31 | Re: Poco espacio en el disco |