PROBLEMA CON SECUENCIAS

RONALD
29 de Marzo del 2004
HOLA TENGO UN PROBLEMITA CON UNA SECUENCIA...

ES UNA TABLA SENCILLA UNICA DONDE CADA REGISTRO DEBE LLEVAR UN NUMERO UNICO Y CONSECUTIVO, EL PROBLEMA ES QUE LA APLICACION LA COMPARTE 5 MAQUINAS DIFERENTES QUE PUEDEN O NO ESTAR CARGANDO INFO AL MISMO TIEMPO, POR LO TANTO EL NUMERO DEL CONSECUTIVO SE ME REPITE EN LAS MAQUINAS Y SE DISPARAN LOS INDICES DE DUPLICACION DE DATOS, COMO HAGOP PARA QUE AUNQUE NO HALLAN SALVADO LA INFORMACION ESE NUMERO DE CONSECUTIVO ME QUEDE RESERVADO Y QUE SI ENTRO EN OTRA MAQUINA ME DE EL SIGUIENTE NUMERO Y NO EL QUE ENTAN TERMINANDO DE CARGAR EN OTRA MAQUINA.

YO TRAIGO EL CONSECUTIVO DE LA SIGUIENTE MANERA:

IF :system.form_status = 'NEW' THEN
IF :cod_CONTRATISTA IS NULL THEN
select max(cod_CONTRATISTA)+1
INTO :cod_CONTRATISTA
from INF_CONTRATISTA;
END IF;
END IF;

DENTRO DEL BOTON DE CREAR REGISTRO.

GRACIAS DE ANTEMANO Y SALUDOS A TODOS DESDE VENEZUELA.

tucki
29 de Marzo del 2004
Puedes crear una secuencia
CREATE SEQUENCE nombre_secuencia START WITH 1 INCREMENT BY 1

y luego

IF :system.form_status = 'NEW' THEN
IF :cod_CONTRATISTA IS NULL THEN
SELET nombre_secuencia.nextval INTO
:cod_CONTRATISTA FROM SYS.DUAL;
END IF;
END IF;

Espero que te sirva