Oracle - NO_DATA_FOUND

   
Vista:

NO_DATA_FOUND

Publicado por Quique (3 intervenciones) el 20/05/2008 20:28:58
Hola:

¿ como puedo hacer que después de una select que no me recupera ningún registro me continúe ejecutando el código y no se vaya por las excepciones y termine el bloque ?

Ejemplo:
BEGIN
SELECT a
INTO ls_a
FROM tabla WHERE clave = 2;

ll_b = ll_b*2;

exception
when no_data_found then
when others then
end;

Si la query no tiene valor, ll_b no tendrá valor ya que se iría por la excepción y terminaría el proceso.

¿ Como hacer que continue ?

Gracias.
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:NO_DATA_FOUND

Publicado por Rodolfo Reyes (445 intervenciones) el 20/05/2008 22:06:26
En la parte de no_data_found le puedes poner la que quieres que ejecute.


BEGIN
SELECT a
INTO ls_a
FROM tabla WHERE clave = 2;

ll_b = ll_b*2;

exception
when no_data_found then
ll_b = ll_b*2;
when others then
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:NO_DATA_FOUND

Publicado por Quique (3 intervenciones) el 21/05/2008 00:41:36
Gracias ... pero es que debajo del código hay varios select, con lo cual esa solución no me valdría 100% ...

Alguna otra opcion ?

Gracias
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:NO_DATA_FOUND

Publicado por Pedro (25 intervenciones) el 21/05/2008 11:32:26
Hola buenas:
muy simple, tu puedes anidar y poner tantos bloques begin/end que tu kieras

por ejemplo lo que puedes hacer es anidar exclusivamente la select

BEGIN
begin
SELECT a
INTO ls_a
FROM tabla WHERE clave = 2;
exception
when no_data_found then
null;
end;

ll_b = ll_b*2;

exception
when no_data_found then
when others then
end;

Si el resultado de la select no te influye en el desarrollo del código lo puedes hacer así.

Espero que te sirva
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