Oracle - Error ORA-01403 no data found

 
Vista:

Error ORA-01403 no data found

Publicado por Jose Antonio Salgado (JASM) (1 intervención) el 21/06/2001 14:15:01
Cause: In a host language program, all records have been fetched. The return code from the fetch was +4, indicating that all records have been returned from the SQL query.
Action: Terminate processing for the SELECT statement.

Alguien sabe qué puede provocar este error.
Sólo me ha saltado una vez y probando lo mismo sobre el mismo registro 23 millones de veces no ha vuelto ha salir.

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Error ORA-01403 no data found

Publicado por marcela (1 intervención) el 28/06/2001 21:25:16
Se provoca porque no controlas las exception de un select
Para ello siempre que tengas una query, update, delete debes escribirla entre Begin - end
Begin
Select *
from personal
where rut <> 0;
exception
when no_data_found then
message('Error, no existen persona')
raise form_trigger_failure;
end;
Puedes programar los errores oracle con los pragma y luego utilizarlos en la exception. Especialmente en procedimientos almacenados.
El mensaje lo puedes enviar con sql_error, el que te indica el mensaje oracle.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error ORA-01403 no data found

Publicado por Oliverio Cogley (2 intervenciones) el 03/04/2006 16:15:55
Hola, pero a mi me sale este error y no estoy haciendo un select solo una validacion puedes ayudarme??? Este es el codigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
DECLARE
   v_AlertId alert;
   v_AlertButton number;
   ERROR VARCHAR2(1);
   ALERT_IS NUMBER;
   v_message_level PLS_INTEGER := :SYSTEM.MESSAGE_LEVEL;
 
BEGIN
  :SYSTEM.MESSAGE_LEVEL := 5  ;
 
  IF :SOLICITUDES_PRESTAMOS.N_PLAZO_PAGO<= :SOLICITUDES_PRESTAMOS.W_PLAZO THEN
      IF :SOLICITUDES_PRESTAMOS.N_PLAZO_PAGO IS NOT NULL THEN
         :SOLICITUDES_PRESTAMOS.W_ANOS:=(:SOLICITUDES_PRESTAMOS.N_PLAZO_PAGO/12);
      END IF;
  ELSE
  v_AlertId := FIND_ALERT('CFG_WARNING_A');
  SET_ALERT_PROPERTY( v_AlertId, ALERT_MESSAGE_TEXT, 'El Plazo de Pago es Mayor' || chr(10) || 'que el permitido en la Politica de Credito');
  v_AlertButton := SHOW_ALERT( v_AlertId );
 
 
  END IF;
:SYSTEM.MESSAGE_LEVEL := v_message_level;
END;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error ORA-01403 no data found

Publicado por Claudia (1 intervención) el 29/03/2007 16:45:45
Hola, lo mismo me pasó a mi pero cuando le puse mensajes para q me muestre si mi código estaba funcionando como quería, ya no me salía ese error, luego saqué de nuevo los mensaje y volvió a salir ese mensaje de error, finalmente le dejé un mensaje, este código lo puse en un trigger WHEN-VALIDATE-ITEM y la verdad me gustaría saber porqué pasa esto.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
DECLARE
  vv_exist_date VARCHAR(1) := 'N';
BEGIN
  if :TS_AP_VENDORS_EXT.FEC_DESDE is not null THEN
    message('valida fecha no nula ' ||
            TO_CHAR(:TS_AP_VENDORS_EXT.FEC_DESDE, 'DD/MM/YYYY'));
    --MESSAGE(' ');
    vv_exist_date := gym_locations.f_exist_date(:TS_AP_VENDORS_EXT.VENDOR_ID,
                                                :TS_AP_VENDORS_EXT.FEC_DESDE,
                                                :TS_AP_VENDORS_EXT.RANGO_ID);
    --MESSAGE(vv_exist_date);
    --MESSAGE(' ');
    IF vv_exist_date = 'Y' THEN
      FND_MESSAGE.SET_STRING('Esta fecha ya se encuentra en uno de los intervalos.');
      FND_MESSAGE.SHOW;
      :TS_AP_VENDORS_EXT.FEC_DESDE := NULL;
    ELSIF :TS_AP_VENDORS_EXT.FEC_DESDE >
          nvl(:TS_AP_VENDORS_EXT.FEC_HASTA,
              to_date('12/12/9999', 'dd/mm/yyyy')) THEN
      FND_MESSAGE.SET_STRING('La fecha DESDE debe se menor o igual que la fecha HASTA.');
      FND_MESSAGE.SHOW;
      :TS_AP_VENDORS_EXT.FEC_DESDE := NULL;
    ELSE
      NULL;
      --message('Fecha válida');
      --MESSAGE(' ');
    END IF;
  else
    NULL;
    --message('valida fecha nula desde else '||TO_CHAR(:TS_AP_VENDORS_EXT.FEC_DESDE,'DD/MM/YYYY'));
  end if;
END;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar