From: | "borix rios" <bxrios(at)gmail(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | No entiendo que pasa??? |
Date: | 2007-08-06 16:24:39 |
Message-ID: | d32be0620708060924i6dd2e5c5yfbf2df42fcae66d3@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola a todos:
Me explico
TABLA (antes)**************************
********************************************
nombre valor
----------- --------
work_doc 266
solicitud 317
FUNCION ***********************************
***********************************************
CREATE OR REPLACE FUNCTION retorna_correlativo_tabla(nombre varchar, OUT
resultado int )
AS
$BODY$
BEGIN
if nombre
update correlativos
set valor=valor + 1
where nombre=nombre;
resultado:= (select valor from correlativos where nombre=nombre);
END;
$BODY$
LANGUAGE 'plpgsql'
LLAMADO A FUNCION ******************
**********************************************
select retorna_correlativo_tabla('solicitud');
TABLA (despues)**********************
********************************************
nombre valor
----------- --------
work_doc 267
solicitud 318
La funcion deberia recibir el parametro nombre, ubicar aquel valor en la
tabla, aumentar en 1 el campo valor de ese registro y luego devolver aquel
valor
aumentado. Pero al llamar a la funcion me ejecuta el update para todos los
registros, como si no tomara la condicion entregada y fuera de eso me
arroja el siguiente mensaje de error: "PL/pgSQL function
"retorna_correlativo_tabla" line 6 at assignment". Alguien me puede explicar
el porque de esto.
PD: soy nuevo en Postgres
From | Date | Subject | |
---|---|---|---|
Next Message | Arturo Munive [pgsql-es-ayuda] | 2007-08-06 16:35:03 | Re: No entiendo que pasa??? |
Previous Message | Agustin Casiva | 2007-08-06 16:13:52 | Re: Formatear un Valor en una Consulta |