Formßt:
exists
jmΘno_prom∞nnΘ
V²znam:
Lze pou₧φt ve v²razu pro zjiÜt∞nφ existence vstupnφ prom∞nnΘ nebo prom∞nnΘ vytvo°enΘ pomocφ DeclareVariable
Φi GetVariable
. Vrßtφ TRUE, pokud prom∞nnß existuje, FALSE, pokud neexistuje.
Lze pou₧φt i pro zjiÜt∞nφ existence sloupce v n-tΘm °ßdku (Φφslovßno od 0) odpov∞di na SELECT v pojmenovanΘm bloku SQLStatement
ve tvaru
exists jmeno_selectu[n].sloupec
Operßtor vrßtφ FALSE, pokud neexistuje sloupec nebo zßznam s Φφslem n
v odpov∞di (viz p°φklad 2).
P°φklad 1:
pokud jeÜt∞ nebylo u klienta ulo₧eno COOKIE s nßzvem ANKETAID, ulo₧ ho nynφ (pou₧itφ v jazyce Üablon):
<HTML>
<HEAD>
<TITLE>Anketa - <%anketa.nazev%></TITLE>
<%if exists id_odpovedi.id %>
<meta http-equiv="Set-Cookie" content="anketa=<%id_odpovedi.id%>; Expires=<%today.today+2;cookieexpires%> 00:00:00 GMT">
<%endif%>
</HEAD>
<BODY BGCOLOR="#FFFFFF" BACKGROUND="">
...
Anketa - pokud nebylo u klienta ulo₧eno COOKIE s nßzvem ANKETA, dosud jeÜt∞ klient nevolil (pou₧itφ v konektoru)
#if exists HTTP_COOKIE_anketa
; pokud existuje cookie pro tuto anketu u₧ivatel v tΘto anket∞ u₧ hlasoval, p°epsat jeho volbu
SQLStatement: Akce + UPDATE Odpovedi + SET volba=%hodnota%,ipadr="%REMOTE_ADDR%" + WHERE id=%HTTP_COOKIE_anketa%; #else
; jeÜt∞ nehlasoval, vlo₧it nov² zßznam
SQLStatement: Akce + START TRANSACTION; + INSERT INTO Odpovedi(ipadr,volba,anketaid) + VALUES ("%REMOTE_ADDR%",%hodnota%,%anketaid%); ; sloupec id tabulky Odpovedi mß implicitnφ hodnotu sekvencφ Odpoved_id,
; vlo₧enou unikßtnφ hodnotu p°eΦteme pomocφ
sekvence.CurrVal SQLStatement: id_odpovedi + SELECT id FROM Odpovedi WHERE id=Odpoved_id.CURRVAL; + COMMIT; EndSQLStatement; #endif ...
P°φklad 2:
Ov∞°enφ p°ihlaÜovacφho jmΘna hesla:
<%WBC%>
DeclareVariable: Logged :=FALSE
SQLStatement: Login
+ SELECT id,jmeno,heslo
+ FROM Logtable
+ WHERE jmeno="%name%" AND heslo="%passw%"
EndSQL
#if exists Login[0].id
SetVariable: Logged :=TRUE
#endif
<%/WBC%>