| From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
|---|---|
| To: | borix rios <bxrios(at)gmail(dot)com> |
| Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
| Subject: | Re: No entiendo que pasa??? |
| Date: | 2007-08-13 20:24:02 |
| Message-ID: | 20070813202402.GJ17177@alvh.no-ip.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-es-ayuda |
borix rios escribió:
> if nombre
> update correlativos
> set valor=valor + 1
> where nombre=nombre;
>
> resultado:= (select valor from correlativos where nombre=nombre);
> END;
No uses nombres de variable que sean iguales a los nombres de las
columnas. Estas sentencias quedan asi:
select valor from correlativos where $1=$1
lo cual es verdadero para todos los valores de $1, por lo tanto se
actualiza toda la tabla.
Otro consejo es que estas cosas deberias hacerlas en una transaccion
SERIALIZABLE (mira en SET TRANSACTION ISOLATION LEVEL).
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Jaime Casanova | 2007-08-14 04:35:45 | Re: Lista de valores |
| Previous Message | Alvaro Herrera | 2007-08-13 18:34:16 | Re: Lista de valores |