As variáveis ESQL podem ser descritas como variáveis
externas, variáveis normais ou variáveis compartilhadas; sua utilização está
definida na instrução DECLARE.
Tipos de Variável
- Externo
- As variáveis externas (definidas com a palavra-chave EXTERNAL) também são conhecidas como
propriedades definidas pelo usuário (consulte Propriedades Definidas pelo Usuário no ESQL). Elas existem durante toda a existência de um fluxo de mensagens e são visíveis para todas
as mensagens que passam pelo fluxo. Você pode definir variáveis externas apenas no
nível do módulo e do esquema. Você pode modificar seus valores iniciais (opcionalmente configurados pela
instrução DECLARE) utilizando o editor de Fluxos de Mensagens ou, no tempo de implementação, utilizando o
editor Broker Archive. Não é possível modificar seus valores posteriormente utilizando
ESQL.
- Normal
- As variáveis normais têm uma existência de apenas uma mensagem que passa por um nó. Elas são visíveis apenas a essa mensagem.
Para definir uma variável normal, omita as palavras-chave EXTERNAL e SHARED.
- Compartilhado
- As variáveis compartilhadas (definidas com a palavra-chave SHARED) podem ser utilizadas para
implementar um cache de memória no fluxo de mensagens; consulte Otimizando Tempos de Resposta do Fluxo de Mensagens. As
variáveis compartilhadas têm uma existência longa e são visíveis para várias mensagens que
passam pelo fluxo; consulte Variáveis de Existência Longa. Elas ocorrem durante a existência do processo
do grupo de execução, a existência do fluxo ou nó, ou durante a existência da SQL do nó que declara a
variável (o que for mais curto). Elas são inicializadas
quando a primeira mensagem é transmitida pelo fluxo ou nó, após a inicialização de cada intermediário.
Consulte também
a opção ATOMIC do Instrução BEGIN ... END. A construção BEGIN ATOMIC é útil quando várias
alterações precisam ser feitas em uma variável compartilhada e quando é importante para evitar que outras
instâncias vejam os estados intermediários dos dados.