Un cas particulier des critères optionnels est que l’on peut utiliser des opérateurs à la condition qu’une variable soit présente dans l’environnement.
– Tous les opérateurs peuvent s’appliquer, il suffit d’accoler le ?
à l’opérateur voulu.
– Il faut que la valeur testée dans l’environnement porte le même nom que le critère tel que le critère X
dans : {X ?operateur #ENV{X}}
.
Le test est ainsi effectué uniquement si la valeur désignée est présente dans l’environnement, sinon le critère est ignoré.
<BOUCLEx(TABLES){nom ?operateur #ENV{nom}}>
<BOUCLEx(TABLES){nom ?== ^#ENV{nom}$}>
<BOUCLEx(TABLES){nom ?!IN #ENV{nom}}>
<BOUCLEx(TABLES){nom ?LIKE %#ENV{nom}%}>...