Variables ESQL

Una variable ESQL es un campo de datos que se utiliza para ayudar a procesar un mensaje.

Debe declarar una variable e indicar su tipo antes de utilizarla. El tipo de datos de una variable es fijo. Si codifica ESQL que asigne un valor de un tipo diferente, se implementa una transformación CAST al tipo de datos del destino o se genera una excepción (si no se da soporte a la transformación CAST implícita).

Para definir una variable y darle un nombre, utilice la sentencia DECLARE.

Los nombres de las variables ESQL distinguen entre mayúsculas y minúsculas, por lo tanto, asegúrese de que utiliza siempre las mayúsculas y minúsculas correctas. La manera más fácil de asegurarse de que está utilizando las mayúsculas y minúsculas correctas es definir siempre las variables utilizando nombres en mayúsculas.

El entorno de trabajo marca las variables que no se han definido. Elimine todas estas marcas antes de desplegar un flujo de mensajes.

Puede asignar un valor inicial a la variable en la sentencia DECLARE. Si no se especifica un valor inicial, las variables escalares se inicializan con el valor especial NULL, mientras que las variables ROW se inicializan con un estado vacío. Posteriormente, puede cambiar el valor de las variables utilizando la sentencia SET.

Tres tipos de nodos incorporados pueden contener código ESQL y, por lo tanto, soportar el uso de variables ESQL:

Ámbito, duración y compartimiento de una variable

La extensión y duración de una variable de ESQL específica viene indicada por su ámbito, duración y compartimiento:

El ámbito de una variable
es una medida del rango en el que es visible. En el entorno de intermediario, el ámbito de las variables está típicamente limitado al nodo individual.
La duración de una variable
es una medida del tiempo durante el que conserva su valor. En el entorno de intermediario, la duración de una variable varía pero suele estar limitada a la duración de una hebra en el nodo.
as características de compartimiento de una variable
indican si cada hebra tiene su propia copia de la variable o si se comparte una variable entre muchas hebras. En el entorno de intermediario, normalmente las variables no se comparten.

Tipos de variables

Externas
Las variables externas (definidas con la palabra clave EXTERNAL) también se conocen como propiedades definidas por el usuario, consulte Propiedades definidas por el usuario en ESQL. Estas variables existen mientras está activo un flujo de mensajes y son visibles para todos los mensajes que pasan a través del flujo de mensajes. Sólo puede definir variables externas a nivel de módulo y esquema. Puede modificar los valores iniciales de las mismas (opcionalmente establecidos mediante la sentencia DECLARE) durante el diseño, utilizando el Editor de flujos de mensajes o, durante el despliegue, utilizando el editor de archivador de intermediario. No puede modificar posteriormente sus valores utilizando ESQL.
Normal
Las variables normales tienen una duración de sólo un mensaje que pase por un nodo. Sólo son visibles para ese mensaje. Para definir una variable normal, omita las palabras clave EXTERNAL y SHARED.
Compartidas
Las variables compartidas pueden utilizarse para implementar una memoria caché interna en el flujo de mensajes, consulte Optimizar los tiempos de respuesta de los flujos de mensajes. Las variables compartidas tienen una gran duración y son visibles para múltiples mensajes que pasan por un flujo, consulte Variables de larga duración. Su duración es la misma que la del proceso del grupo de ejecución, la duración del flujo o nodo, o la duración del SQL del nodo que declara la variable (la que sea más breve). Se inicializan cuando el primer mensaje pasa por el flujo o el nodo después de cada inicio de intermediario.

Consulte también la opción ATOMIC de la Sentencia BEGIN ... END. La construcción BEGIN ATOMIC es útil cuando deben realizarse varios cambios en una variable compartida y es importante evitar que otras instancias vean los estados intermedios de los datos.

Para obtener información sobre los tipos específicos de variables, consulte:
Conceptos relacionados
Propiedades definidas por el usuario en ESQL
Propiedades definidas por el usuario
Variables de larga duración
Tareas relacionadas
Desarrollo de ESQL
Referencia relacionada
Nodos incorporados
Nodo Compute
Nodo Database
Nodo Filter
Sentencia DECLARE
Sentencia BEGIN ... END
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última actualización : 2009-02-16 13:55:26

ak01010_