No entiendo que pasa???

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

Responses

Browse pgsql-es-ayuda by date

  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