Capturar excepción ORA-02292

Estoy programando en Forms 6.0 de Oracle, en el momento que realizo un delete_recor, deseo comprobar que no se viola ninguna restricción por clave externa. Este error no se produce exactamente en el Delete_Record si no en el Post, pues esta sentencia es la que lleva el borrado a la BD.
Para ello uso el siguiente código:
Begin
POST;
EXCEPTION WHEN OTHERS THEN
MENSAJE ('error post');
END;
Jamas me entra en el exception en cambio me santal el mensaje "Error Orale." con el Ora asociado 02292.
¿Por qué no entra en el excetion?

2 respuestas

Respuesta
1
Siento no haber podido responder antes. La verdad es que no te puedo ser de gran ayuda (o de ninguna)
Puesto que soy administraor puro y no se responderte a esa pregunta.
Lo siento.
Respuesta
1
Me parece extraño que no te capture la exception si se está produciendo en el post. Aunque en realidad yo pienso que lo lógico sería capturarla al borrar el registro.
De todas formas supongo que estarás intentando borrar algún registro de un bloque y delete_record es una built-in de forms, no una sentencia sql, por esa razón podría no capturar la exception cuando utilizas la built-in.
Ahora mismo no estoy trabando con forms y no lo tengo instalado, pero una cosa que se me ocurre es que te crees un trigger on-error a nivel del bloque sobre el que estés realizando el delete_record y controles ahí el error, es decir muestres el mensaje que quieres mostrar.
Pruébalo, no sé si te será de ayuda, espero que sí. Siento no poder ser más explícito en estos momentos, pero ya te he dicho que ahora mismo no tengo instalado el entorno.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas