exists db-row(select-statement a [[param &1 = c], d,e,f,g,h,i,j,k,l])


Führt den SQL-Befehl a auf der Datenbank aus, die mit dem Alias b repräsentiert wird. Parameter, die im SQL-Befehl über Platzhalter der Form &Parameternummer dargestellt werden, werden durch die Werte ab Parameter c ersetzt. Eventuell für die Syntax notwendige Zeichen wie Hochkommas bei Texten müssen im Statement selbst angegeben werden. Liefert das Statement nach der Ausführung kein Ergebnis zurück, wird false zurückgegeben, ansonsten true.

Hinweis: Neben der Schreibweise &Parameternummer ist auch die Schreibweise für "Prepared Statements" in der Form @Parameternummer:Parametertyp@ möglich. Diese verhindert sogenannte SQL Injection Attacks und ist daher zu bevorzugen.

Parameterbeschreibung


Parameter

Beschreibung

a

Auszuführendes SQL-Statement.

b

Datenbank-Alias.

c

(optional) Parameter &1 im Statement.

d

(optional) Parameter &2 im Statement.

e

(optional) Parameter &3 im Statement.

f

(optional) Parameter &4 im Statement.

g

(optional) Parameter &5 im Statement.

h

(optional) Parameter &6 im Statement.

i

(optional) Parameter &7 im Statement.

j

(optional) Parameter &8 im Statement.

k

(optional) true für "read only"-Modus. Default: false.

l

(optional) Falls true, dann werden SQL-Fehler, die von der Datenbank gemeldet werden, ignoriert. Default: <leer> (== false).


Beispiele


Gegeben sei eine Tabelle zipcodes, die die Postleitzahlen von Deutschland enthält


Parameter a

b

c

d

e…j

k

l

Ergebnis

select * from zipcodes

testdb






true

select * from zipcodes where zipcode = &1

testdb

80336





true

select * from zipcodes where zipcode = @1:i@

testdb

80336





true

select * from zipcodes where city = '&2'

testdb


Munich




true

select * from zipcodes where city = @2:s@

testdb


Munich




true

select * from zipcodes where zipcode = &1 and city = '&2'

testdb

12345

Munich




false

select * from zipcodes where zipcode = &1 and city = &2

testdb

12345

Munich




Fehler, da Textliterale in Hochkommas stehen müssen.

Hinweise


  • Die Anfrage wird gegenüber der Datenbank automatisch auf eine Ergebniszeile beschränkt, so dass unabhängig von der Anzahl Zeilen in der Tabelle nur eine Zeile zurückgegeben wird. Es ist daher nicht notwendig in das Statement LIMIT-Anweisungen einzubauen.

  • Wenn neben der reinen Information, ob überhaupt Werte vorhanden sind, im Anschluss mit eigentlichen Werten gearbeitet werden soll, ist es besser mittels einer der Select-Funktionen direkt den Abruf zu machen und auf die Existenz eines gelesenes Wertes zu prüfen.