Las variables SQL pueden describirse como variables externas, variables normales o variables compartidas; su uso está definido en la sentencia DECLARE.
Tipos de variables
- Externa
- 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. 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), utilizando el Editor de flujos de mensajes o,
durante el despliegue, utilizando el editor del 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 el nodo. Sólo son visibles a ese mensaje. Para definir una variable normal, omita las palabras clave EXTERNAL y SHARED.
- Compartida
- Las variables compartidas (definidas con la palabra clave SHARED) 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 larga duración y son visibles para varios mensajes que pasan por el 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 cuando es importante evitar que otras
instancias vean los estados intermedios de los datos.