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

Tomar el valor maximo de una secuencia en un campo

Estas en el tema de Tomar el valor maximo de una secuencia en un campo en el foro de Oracle en Foros del Web. Buenas. Me gustaría que al iniciarse mi formulario de añadir_reservas apareciese en un campo NUM_RESERVAS el maximo valor hasta ahora introducido. Me he creado la ...
  #1 (permalink)  
Antiguo 14/12/2006, 12:01
 
Fecha de Ingreso: septiembre-2005
Mensajes: 379
Antigüedad: 18 años, 7 meses
Puntos: 0
Tomar el valor maximo de una secuencia en un campo

Buenas. Me gustaría que al iniciarse mi formulario de añadir_reservas apareciese en un campo NUM_RESERVAS el maximo valor hasta ahora introducido.
Me he creado la siguiente secuencia:
CREATE SEQUENCE num_reserva
INCREMENT BY 1
START WITH 22
NOMAXVALUE ;

Pues bien, me he creado un trigger PRE-INSERT en el formulario añadir_reservas con lo siguiente:
BEGIN
SELECT NUM_RESERVA.CURRVAL INTO :RESERVA.num_reserva
FROM dual;
END;

El problema está en ke no me muestra al ejecutar el formulario el maximo valor del campo num_reserva. No me muesta nada, está en blanco como todos los demas. Que estoy haciendo mal? Como se haría en cualquier caso?
Muchas gracias.
  #2 (permalink)  
Antiguo 14/12/2006, 14:14
Avatar de kikolice  
Fecha de Ingreso: marzo-2004
Mensajes: 1.510
Antigüedad: 20 años, 1 mes
Puntos: 7
Re: Tomar el valor maximo de una secuencia en un campo

me suena a que es por el trigguer donde lo pusiste, el pre-insert se ejecuta antes de hacer una insercion a la base de datos, y como dices lo quieres al ejecutar el formulario, prueba ponerlo en un when-new-form o when-new-block o alguno de esos
__________________
Blogzote.com :-) Mi blog
  #3 (permalink)  
Antiguo 15/12/2006, 08:28
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 4 meses
Puntos: 11
Re: Tomar el valor maximo de una secuencia en un campo

Basta con que le pongas al dato que deseas que tenga el proximo sequence


DATO := num_reserva.nextval;

__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
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 00:42.