A instrução CALL chama uma rotina que foi definida utilizando a instrução CREATE PROCEDURE ou CREATE FUNCTION.
Você pode implementar a instrução CALL em ESQL ou externamente, como um procedimento armazenado em banco de dados.
A instrução CALL transmite os parâmetros para o procedimento na ordem fornecida a ela. Os parâmetros que foram definidos como IN ou INOUT são avaliados antes de ser feita uma CALL, mas os parâmetros definidos como OUT são sempre transmitidos como parâmetros NULL do tipo correto. Quando o procedimento é concluído, quaisquer parâmetros declarados como OUT ou INOUT são atualizados para refletir eventuais alterações feitas neles durante a execução do procedimento. Os parâmetros definidos como IN nunca são alterados durante a causa da execução de um procedimento.
Quando o parâmetro opcional brokerSchemaName não é especificado, o analisador SQL do intermediário procura o procedimento nomeado utilizando o algoritmo descrito na instrução PATH (consulte o Cláusula PATH).
Quando o parâmetro brokerSchemaName é especificado, o analisador SQL do intermediário chama o procedimento nomeado sem procurar primeiro o caminho.
O parâmetro opcional brokerSchemaName não é suportado em intermediários do Versão 2.1 ou anteriores. Todo ESQL implementado em um intermediário da Versão 2.1 ou anterior deve ser definido no mesmo esquema do intermediário que o fluxo de mensagens, isto é, no <esquema do nó>.
Cada esquema do intermediário fornece uma função exclusiva e um
espaço de símbolo de procedimento.
Se estiver chamando o nome de um
procedimento armazenado que tenha sido definido com um nome de
esquema de banco de dados com caractere curinga especificado como um
único caractere de porcentagem na instrução CREATE PROCEDURE, você
também deve incluir a cláusula EXTERNAL SCHEMA e fornecer o
databaseSchemaName nessa instrução. Em
todos os outros casos, a cláusula não será necessária e uma exceção
será lançada se ela for especificada.
As funções internas são, na verdade, colocadas em um esquema de intermediário predefinido chamado SQL. Assim, as funções no nível do módulo definidas pelo usuário com o mesmo nome têm precedência sobre essas funções integradas.
Para obter um exemplo de utilização de CALL, consulte os exemplos em Instrução CREATE PROCEDURE.
Conceitos relacionados
ESQL
Tarefas relacionadas
Desenvolvendo ESQL
Chamando Procedimentos Armazenados
Referências relacionadas
Preferência de Sintaxe
instruções ESQL
Instrução CREATE PROCEDURE
Instrução BROKER SCHEMA
Cláusula PATH
Avisos |
Marcas |
Downloads |
Biblioteca |
Suporte |
Feedback
![]() ![]() |
ak04920_ |