Ver Mensaje Individual
  #13  
Antiguo 03-06-2008
santiaguinillo santiaguinillo is offline
Miembro
 
Registrado: abr 2007
Ubicación: Viladecans, Barcelona
Posts: 24
Reputación: 0
santiaguinillo Va por buen camino
Wink Resuelto

Gracias a todos por vuestras respuestas.

Doy el problema por resuelto. Finalmente con el when any do suspend; ha sido suficiente y aunque ya no muestra el mensaje de la excepción no es realmente grave.

Seria interesante haber tenido lo que comentaba RolphyReyes sobre Returning y de esta forma podría haber devuelto alguna variable para informar de que no se ha introducido el último registro.

Es para esto que teníamos las excepciones, para informar de ello a la aplicación delphi. Lo que no queríamos es que nos hiciera rollback de las anteriores operaciones en la bbdd del procedimiento.

En mi caso no podría hacerlo de otra forma, ni de la forma que comenta duilioisola en el código sql ya que el último insert del procedure se efectua o no dependiendo de unas condiciones que hay en el trigger before insert de la tabla que intenta insertar. Por lo tanto, o bien ponemos el código del trigger en el mismo procedure o bien necesitaríamos el returning que ya tiene el firebird 2.0

De nuevo, gracias a todos por vuestro aporte.
Santi.
Responder Con Cita