En realidad, sequence 

http://www.postgresql.org/docs/8.3/static/sql-createsequence.html

CREATE SEQUENCE seq_operacion
  INCREMENT 1
  MINVALUE 1
  MAXVALUE 9223372036854775807
  START 2
  CACHE 1;

En pl

p_proxima_operacion := NEXTVAL('seq_operacion');

y deja que el motor lo maneje


-----Mensaje original-----
De: [email protected] 
[mailto:[email protected]] En nombre de Javier Chávez B.
Enviado el: Martes, 10 de Febrero de 2009 12:45 p.m.
Para: sTyler
CC: POSTGRES
Asunto: Re: [pgsql-es-ayuda] Obtener un numero unico de operacion

2009/2/10 sTyler <[email protected]>:
> Hola, tengo el siguiente caso, cree una tabla con dos campos, el primero
> guarda el tipo de operacin realizada y el segundo el numero de operacion que
> se guarda
>
> Tipo                       operacion
> COMPRA                  233
> VENTA                      344
> DEVOL                      344
>
> Asi el sistema cuando va a realizar una operacion de compra hace un SELECT
> para obtener el ultimo numero, a este le agrega 1 con un UPDATE para
> actualizar la tabla, de esta manera quiero obtener un numeo unico de
> operacion que utilizo para actualizar diversas tablas que controlan las
> operaciones. El problema viene en que tengo 10 terminales trabajando en la
> red, y otras dos en otras localidades y hay momentos en dos terminales cogen
> el mismo numero de operacion, supongo porque es en el tiempo que hago el
> SELECT y UPDATE, en donde dos terminales cogen el mismo numero de operacion.
> Mi pregunta es , hay alguna forma de que pueda obtener un numero unico de
> operacion sin esta complicacion que de dos terminales puedan obtener el
> mismo ID?
> --
> TIP 4: No hagas 'kill -9' a postmaster
>

Busca en los historicos de la lista yo hice esa misma pregunta y me
respondieron que tenia que dejar hacer el trabajo a PG o sea crear ese
campo como un autoincrementable :0) (Serial si no me equivoco)

slds.

J

-- 
Cumprimentos
jchavez
linux User #397972 on http://counter.li.org/

Bob Hope  - "I have a wonderful make-up crew. They're the same people
restoring the Statue of Liberty."
--
TIP 4: No hagas 'kill -9' a postmaster
--
TIP 4: No hagas 'kill -9' a postmaster

Responder a