Procedimientos ESQL

Un procedimiento es una subrutina sin ningún valor de retorno. Puede aceptar parámetros de entrada y devolver parámetros de salida al canal de llamada.

Los procedimientos son muy parecidos a las funciones. La diferencia principal es que las funciones tienen valor de retorno y los procedimientos no. Por tanto, éstos no pueden formar parte de una expresión y se invocan utilizando la sentencia CALL. Normalmente, los procedimientos tienen parámetros de salida

Puede implementar un procedimiento en ESQL (un procedimiento interno) o implementarlo como un procedimiento almacenado de base de datos (un procedimiento externo. El procedimiento ESQL debe ser una sola sentencia ESQL, aunque dicha sentencia puede ser una sentencia compuesta como, por ejemplo, BEGIN END. No puede definir un procedimiento en una sentencia EVAL o en una función EVAL.

Cuando defina un procedimiento, asígnele un nombre. El nombre se maneja sin distinguir entre mayúsculas y minúsculas, esto es, puede utilizar el nombre con cualquier combinación de letras mayúsculas o minúsculas que coincida con la declaración. Esto es diferente a los nombres que se declaran para esquemas, constantes, variables y etiquetas que se manejan como si fueran sensibles a las mayúsculas y minúsculas y que debe especificar exactamente tal y como los ha declarado.

Una expresión ESQL puede incluir una referencia a un procedimiento en otro esquema de intermediario (definido en un archivo ESQL del mismo o de otro proyecto dependiente). Si desea utilizar esta técnica, puede limitar completamente el procedimiento o incluir la sentencia PATH que establece el calificador. La sentencia PATH debe estar codificada en el mismo archivo ESQL pero no en un MODULE.

Un procedimiento de base de datos externo se indica mediante la palabra clave EXTERNAL y el nombre de procedimiento externo. Este procedimiento debe definirse en la base de datos y en el intermediario y el nombre especificado con la palabra clave EXTERNAL y el nombre del procedimiento de base de datos almacenado debe ser el mismo, aunque los nombres de los parámetros no tienen que coincidir. El nombre del procedimiento ESQL puede ser diferente al nombre externo que define.

No se da soporte en ninguna base de datos a los procedimientos sobrecargados. Un procedimiento sobrecargado es aquel que tiene el mismo nombre que otro procedimiento del mismo esquema de base de datos con un número de parámetros diferente o parámetros de tipos diferentes. Si el intermediario detecta que se ha cargado un procedimiento sobrecargado, genera una excepción.

Se da soporte a la resolución dinámica de nombres de esquemas para procedimientos almacenados. Cuando defina el procedimiento deberá especificar un comodín para el esquema que se ha resuelto antes de invocar el procedimiento mediante ESQL. Esto se describe adicionalmente en Invocar procedimientos almacenados.

Conceptos relacionados
Visión general de flujos de mensajes
Visión general de las correlaciones de mensajes
Tareas relacionadas
Desarrollar flujos de mensajes
Desarrollo de ESQL
Invocar procedimientos almacenados
Referencia relacionada
Nodos incorporados
Referencia de ESQL
Sentencia CREATE FUNCTION
Sentencia CREATE MODULE
Sentencia CREATE PROCEDURE
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
ak01090_