PDA

Ver la Versión Completa : Problemas con trigger en DB2


afsaldarriaga
27-01-2004, 19:46:40
Buenas tardes.

La inquietud es la siguiente:

Nosotros tenemos DB2 versión 8 instalada en el sistema operativo Linux.
Resulta que necesitamos ejecutar cierto proceso cada vez que se adiciona un registro a una tabla.

La idea que teníamos (ya que la inserción puede hacerse desde diferentes partes) es que se ejecutara un trigger el cual llamaría a un procedimiento quien tendría el proceso necesario.

Al leer la documentación de DB2, al parecer la instrucción "call <nombreProcedimiento>" desde un trigger solo es posible en una versión de DB2 para z...no se que. El caso es que para la versión que tenemos no funciona.
La documentación sigue y dice que coloquemos la lógica del procedimiento dentro del trigger o que ejecutemos un SQL UDF, el cual se puede ejecutar con la instrucción "VALUES(<nombreFuncion(<parametros>)>);".
La primera solución no es muy viable, ya que el procedimiento que queremos llamar, llama a otros procedimientos y se nos volvería algo muy complicado hacerlo de esta manera.
La segunda solución que proponen me suena un poco más, pero al intentar abordarla me encuentro con que tampoco me deja realizar un "call <nombreProcedimiento>" dentro del SQL UDF.

La pregunta es... será que estoy haciendo las cosas bien, o DB2 es tan limitado?
Si existe la manera de hacerlo y tienen un ejemplo de como realizarlo me sería de gran ayuda.

Mil gracias.

javromo
18-11-2004, 21:09:43
Debes hacerlo a traves de un store procedure ya que un trigger no permite hacer llamadas a un procedimiento.

Javier Rojas