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})
| — | — |
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. |
Sintassi
Questa sintassi esegue una query all'interno di un'istruzione TABLE o MAP.
SQLEXEC (ID *logical_name*, QUERY ' *query* ',
{PARAMS *param_spec* | NOPARAMS})
| — | — |
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