Aplicar SQLEXEC em uma instrução TABLE ou MAP

Quando usado em uma instrução TABLE ou MAP, o SQLEXEC pode especificar e aceitar parâmetros. Ela pode ser usada para procedimentos e consultas, mas não para comandos de banco de dados.

Sintaxe

Essa sintaxe executa um procedimento em uma instrução TABLE ou MAP.

SQLEXEC (SPNAME *sp_name*,
[ID *logical_name*,]
{PARAMS *param_spec* | NOPARAMS})
Argumento Descrição

| — | — |

SPNAME
Palavra-chave obrigatória que inicia uma cláusula para executar um procedimento armazenado.
sp_name
Especifica o nome do procedimento armazenado a ser executado.
ID logical_name
Define um nome lógico para o procedimento. Use essa opção para executar o procedimento várias vezes dentro de uma instrução TABLE ou MAP. Não é necessário ao executar um procedimento apenas uma vez.
PARAMS param_spec | NOPARAMS
Especifica se o procedimento aceita ou não parâmetros. Uma dessas opções deve ser usada (consulte Usando Parâmetros de Entrada e Saída).

Sintaxe

Essa sintaxe executa uma consulta em uma instrução TABLE ou MAP.

SQLEXEC (ID *logical_name*, QUERY ' *query* ',
{PARAMS *param_spec* | NOPARAMS})
Argumento Descrição

| — | — |

ID logical_name
Define um nome lógico para a consulta. É necessário um nome lógico para extrair valores dos resultados da consulta. ID logical_name faz referência aos valores de coluna retornados pela consulta.
QUERY ' sql_query '

Especifica a sintaxe de consulta SQL a ser executada no banco de dados. Ele pode retornar resultados com uma instrução SELECT ou alterar o banco de dados com uma instrução INSERT, UPDATE ou DELETE. A consulta deve estar entre aspas simples e deve estar contida em uma linha. Especifique nomes de objetos com distinção entre maiúsculas e minúsculas da maneira como são armazenados no banco de dados, como entre aspas para nomes com distinção entre maiúsculas e minúsculas da Oracle.

SQLEXEC 'SELECT "col1" from "schema"."table"'
{::nomarkdown} <pre class="pre codeblock">PARAMS param_spec NOPARAMS</code></pre> {:/} Define se a consulta aceita ou não parâmetros. Uma dessas opções deve ser usada (consulte Usando Parâmetros de Entrada e Saída).

Se você quiser executar uma consulta em uma tabela que reside em um banco de dados diferente do banco de dados atual, o nome do banco de dados diferente deverá ser especificado com a tabela. O delimitador entre o nome do banco de dados e o nome da tabela deve ser dois-pontos (:).

Veja a seguir alguns exemplos de casos de uso:

select col1 from db1:tab1
select col2 from db2:schema2.tab2
select col3 from tab3
select col3 from schema4.tab4