SoloCodigo
Bases de Datos => Oracle => Mensaje iniciado 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.
-
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....