Formßt:
#ifexists +
SQL_p°
φkaz_SELECT (= podmφnka) #then +
°ßdek_SQL_p°φkazu (= v∞tev then)
#else +
°ßdek_SQL_p°φkazu (= v∞tev else)
#endif
V²znam:
Lze pou₧φt pouze uvnit° bloku SQLStatement
.
Pokud odpov∞∩ na p°φkaz SELECT
z podmφnky obsahuje aspo≥ jeden zßznam, pak budou pro sestavenφ SQL p°φkaz∙ v bloku SQLStatement
pou₧ity °ßdky ve v∞tvi then, pokud v²Üe zmφn∞nß odpov∞∩ neobsahuje ₧ßdn² zßznam, bude pro sestavenφ SQL p°φkaz∙ pou₧ito °ßdk∙ ve v∞tvi else.
P°φkaz ifexists
musφ konΦit direktivou #endif
a musφ mφt bu∩ Φßst #then
, nebo Φßst #else
, nebo ob∞ Φßsti.
Podmφnku, v∞tev then i v∞tev else lze rozepsat na vφce °ßdk∙ (zaΦφnajφcφch znakem plus). V podmφnce, v∞tvi then i v∞tvi else lze citovat libovolnou vstupnφ prom∞nnou (%jmΘno_prom∞nnΘ%
) a lze takΘ pou₧φt libovoln² p°φkaz WBC preprocesoru (nap°. vno°it ifexists
do libovolnΘ Φßsti jinΘho ifexists
).
Vyhodnocenφm podmφnky musφ vzniknout prßv∞ jeden SQL p°φkaz SELECT
.
V∞tev then i v∞tev else m∙₧e obsahovat vφce SQL p°φkaz∙. V tom p°φpad∞ musφ b²t jednotlivΘ p°φkazy od sebe odd∞leny st°ednφkem (;).
P°φklad:
Jestli₧e u₧ivatel vyplnφ ve formulß°i pole Datum od a Datum do, vyberou se jeho objednßvky v tomto intervalu, nevyplnφ-li je, vyberou se vÜechny
SQLStatement: SeznamObjednavek
+ SELECT *
+ FROM INP_TAB
#ifexists
+ SELECT *
+ FROM MAIN_DOD
+ WHERE (Str2Date("%obj_od%") <> NONEDATE AND Str2Date("%obj_do%") <> NONEDATE);
#then
+ WHERE (CIS_LIC="%lic%" AND DATUM >= Str2date("%obj_od%") AND DATUM <= Str2date("%obj_do%"))
#else
+ WHERE (CIS_LIC="%lic%")
#endif
+ ORDER BY DATUM;