Ver Mensaje Individual
  #13 (permalink)  
Antiguo 08/04/2008, 00:32
amapola83
 
Fecha de Ingreso: abril-2008
Mensajes: 3
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Posible bug Oracle???

Sí, esa es nuestra intención, que si no hay ningún registro para ese código de provincia (c_prov_id), nos devuelva un 1. En ese caso no hay problema.
c_prov_id : n_visita
24 : 1

El problema está cuando ya existe algún registro con ese código de provincia (en el ejemplo que ponía, c_prov_id=24) que, según el ejemplo, el MAX (N_VISITA) tendría que devolver un 1 y como le estamos sumando otro +1
(SELECT NVL((MAX(N_VISITA))+1, 1) FROM inve_visitas WHERE c_prov_id = 24)
estaríamos insertando el par (24,2) pero por algún extraño motivo el MAX(N_VISITA) devuelve null, igual que si no existiese ningún registro de esa provincia, y por lo tanto, vuelve a intentar insertar el par (24,1) que ya existe y de ahí la excepción de restricción única violada.