SoloCodigo

Bases de Datos => Oracle => Mensaje iniciado por: sneider en Jueves 14 de Diciembre de 2006, 18:59

Título: Maximo Valor En Un Campo
Publicado por: sneider en Jueves 14 de Diciembre de 2006, 18:59
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.
Título: Re: Maximo Valor En Un Campo
Publicado por: JuanK en Jueves 14 de Diciembre de 2006, 19:47
2 cosas

1. Currval no funciona sino se ha llamasdo en la sesion actual al menos una vez a nextval
2. Lo ideal, si bien cuando la tabla sea enormemente gigante nos era lo mas optimo, es que hagas una consulta usando funciones de grupo:

SELECT MAX(colum_numero)
FROM  TABLA....