Applica SQLEXEC all'interno di un'istruzione TABLE o MAP

Se utilizzato all'interno di un'istruzione TABLE o MAP, SQLEXEC può passare e accettare i parametri. Può essere utilizzato per le procedure e le query, ma non per i comandi del database.

Sintassi

Questa sintassi esegue una procedura all'interno di un'istruzione TABLE o MAP.

SQLEXEC (SPNAME *sp_name*,
[ID *logical_name*,]
{PARAMS *param_spec* | NOPARAMS})
Argomento Descrizione

| — | — |

SPNAME
Parola chiave richiesta che avvia una clausola per eseguire una stored procedure.
sp_name
Specifica il nome della stored procedure da eseguire.
ID logical_name
Definisce un nome logico per la procedura. Utilizzare questa opzione per eseguire la procedura più volte in un'istruzione TABLE o MAP. Non necessario quando si esegue una procedura una sola volta.
PARAMS param_spec | NOPARAMS
Specifica se la procedura accetta o meno i parametri. È necessario utilizzare una di queste opzioni (vedere Utilizzo dei parametri di input e output).

Sintassi

Questa sintassi esegue una query all'interno di un'istruzione TABLE o MAP.

SQLEXEC (ID *logical_name*, QUERY ' *query* ',
{PARAMS *param_spec* | NOPARAMS})
Argomento Descrizione

| — | — |

ID logical_name
Definisce un nome logico per la query. Per estrarre i valori dai risultati della query è necessario un nome logico. ID logical_name fa riferimento ai valori di colonna restituiti dalla query.
QUERY ' sql_query '

Specifica la sintassi della query SQL da eseguire sul database. Può restituire i risultati con un'istruzione SELECT o modificare il database con un'istruzione INSERT, UPDATE o DELETE. La query deve essere racchiusa tra virgolette singole e deve essere contenuta in una sola riga. Specificare i nomi degli oggetti con distinzione tra maiuscole e minuscole nel modo in cui vengono memorizzati nel database, ad esempio tra virgolette per i nomi con distinzione tra maiuscole e minuscole Oracle.

SQLEXEC 'SELECT "col1" from "schema"."table"'
{::nomarkdown} <pre class="pre codeblock">PARAMS param_spec NOPARAMS</code></pre> {:/} Definisce se la query accetta o meno i parametri. È necessario utilizzare una di queste opzioni (vedere Utilizzo dei parametri di input e output).

Se si desidera eseguire una query su una tabella che risiede in un database diverso da quello corrente, è necessario specificare con la tabella il nome del database diverso. Il delimitatore tra il nome del database e il nome tabella deve essere costituito dai due punti (:).

Di seguito sono riportati alcuni esempi di casi d'uso.

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