Appliquer SQLEXEC dans une instruction TABLE ou MAP
Lorsqu'elle est utilisée dans une instruction TABLE ou MAP, SQLEXEC peut transmettre et accepter des paramètres. Il peut être utilisé pour les procédures et les requêtes, mais pas pour les commandes de base de données.
Syntaxe
Cette syntaxe exécute une procédure dans une instruction TABLE ou MAP.
SQLEXEC (SPNAME *sp_name*,
[ID *logical_name*,]
{PARAMS *param_spec* | NOPARAMS})
| — | — |
SPNAME |
Mot-clé requis qui commence une clause pour exécuter une procédure stockée. |
sp_name |
Spécifie le nom de la procédure stockée à exécuter. |
ID logical_name |
Définit un nom logique pour la procédure. Utilisez cette option pour exécuter la procédure plusieurs fois dans une instruction TABLE ou MAP. Non requis lors de l'exécution d'une procédure une seule fois. |
Syntaxe
Cette syntaxe exécute une requête dans une instruction TABLE ou MAP.
SQLEXEC (ID *logical_name*, QUERY ' *query* ',
{PARAMS *param_spec* | NOPARAMS})
| — | — |
ID logical_name |
Définit un nom logique pour la requête. Un nom logique est requis pour extraire les valeurs des résultats de la requête. ID logical_name référence les valeurs de colonne renvoyées par la requête. |
QUERY ' sql_query ' |
Indique la syntaxe de requête SQL à exécuter sur la base de données. Elle peut renvoyer des résultats avec une instruction SELECT ou modifier la base de données avec une instruction INSERT, UPDATE ou DELETE. La requête doit être placée entre guillemets simples et doit être contenue sur une seule ligne. Indiquez les noms d'objet sensibles à la casse comme ils sont stockés dans la base de données, par exemple entre guillemets pour les noms sensibles à la casse Oracle. SQLEXEC 'SELECT "col1" from "schema"."table"' |
{ : :nomarkdown} <pre class="pré bloc de code">PARAMS param_spec |
NOPARAMS</code></pre> { :/} |
Définit si la requête accepte ou non les paramètres. L'une de ces options doit être utilisée (reportez-vous à la section Utilisation des paramètres d'entrée et de sortie). |
Si vous souhaitez exécuter une requête sur une table résidant sur une base de données différente de la base de données en cours, vous devez indiquer le nom de la base de données différente avec la table. Le séparateur entre le nom de la base de données et le nom de tabulation doit être le signe deux-points (:).
Voici quelques exemples de cas d'emploi :
select col1 from db1:tab1
select col2 from db2:schema2.tab2
select col3 from tab3
select col3 from schema4.tab4