Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

autoincrementable en oracle

Estas en el tema de autoincrementable en oracle en el foro de Oracle en Foros del Web. Hola buenas tardes. tengo un problema en mi base de datos de oracle al momento de insertar datos resulta que hice una secuencia y un ...
  #1 (permalink)  
Antiguo 30/06/2008, 18:47
 
Fecha de Ingreso: noviembre-2006
Mensajes: 45
Antigüedad: 18 años
Puntos: 1
autoincrementable en oracle

Hola buenas tardes.

tengo un problema en mi base de datos de oracle al momento de insertar datos resulta que hice una secuencia y un disparador para hacer una columna autoincrementable. resulta que se supone que la columna se deve de incrementar de uno en uno y no pasa esto sino que se incrementa de veinte o mas....

enseguida les pongo el codigo.

****** mi tabla***************
create table ArchivoDeArticulo(id number primary key,
IdUsuario number,
IdArticulo number);



******mi secuiencia********
create sequence SQ_ArchivoDeArticulo
start with 1
increment by 1
nomaxvalue;

****** mi trigger****************
create or replace trigger TG_ArchivoDeArticulo
before insert on ArchivoDeArticulo for each row
begin
if :new.Id is null then
select SQ_ArchivoDeArticulo.NextVal
into :new.Id
from Dual;
end if;
end;


el problema es que cuando se insertan los datos se supone que se deveria de insertar el primer registro en 1 el segundo registro en 2 el tercero en 3 y asi sucesivamente pero no pasa esto y se me incrementa en 20 o aveces en mas de 20 alguien me puede ayudar con esto.

muchas gracias
  #2 (permalink)  
Antiguo 30/06/2008, 23:49
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años
Puntos: 85
Respuesta: autoincrementable en oracle

Hola,

Que raro... Intenta recrear la secuencia pero esta vez con el parametro NOCACHE a ver que pasa.

Código:
SQL> create sequence s1
  2  start with 1
  3  increment by 1
  4  nomaxvalue
  5  nocache;
Saludos
  #3 (permalink)  
Antiguo 01/07/2008, 00:45
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 17 años, 5 meses
Puntos: 43
Respuesta: autoincrementable en oracle

Cita:
Iniciado por matanga Ver Mensaje
Hola,

Que raro... Intenta recrear la secuencia pero esta vez con el parametro NOCACHE a ver que pasa.

Código:
SQL> create sequence s1
  2  start with 1
  3  increment by 1
  4  nomaxvalue
  5  nocache;
Saludos
No es nada raro compañero. Has dado en el clavo. Si se crea con NOCACHE el incremento será de uno en uno.
  #4 (permalink)  
Antiguo 01/07/2008, 08:56
 
Fecha de Ingreso: noviembre-2006
Mensajes: 45
Antigüedad: 18 años
Puntos: 1
Respuesta: autoincrementable en oracle

Efectivamente Estaban En Lo Correcto Los Dos Solo Faltaba Agregarle A La Secuencia El nocache. Se Lo Agregue Y Funciono Perfectamente.

Muchas Gracias Por Compartir Sus Conocimientos Con Uno.
  #5 (permalink)  
Antiguo 02/07/2008, 01:10
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 17 años, 5 meses
Puntos: 43
Respuesta: autoincrementable en oracle

De nada.

A mandar , que para eso estamos.

Salu2
  #6 (permalink)  
Antiguo 02/07/2008, 18:08
Avatar de kikolice  
Fecha de Ingreso: marzo-2004
Mensajes: 1.510
Antigüedad: 20 años, 8 meses
Puntos: 7
Respuesta: autoincrementable en oracle

pues al final funciono aunque nunca me entere por que con el "nocache", aqui la respuesta

http://www.techonthenet.com/oracle/sequences.php
__________________
Blogzote.com :-) Mi blog
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:05.