ifexists

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;