select into list(select a, dbalias b, [c,d,e,f,g,h,i,j],k,l,[m,n,o,p])


Führt einen SQL-Select-Befehl a auf der Datenbank aus, die durch den Alias b repräsentiert wird. Im Statement hinterlegte Platzhalter der Form &Parameternummer werden durch die Werte ab Parameter c bis j ersetzt. Zeichen, die für eine gültige Syntax des Statements erforderlich sind (z.B. Hochkommas um Zeichenketten) müssen bereits im Statement enthalten sein. Die Menge an zurückgegebenen Ergebniszeilen kann über l eingeschränkt werden, 0 führt zu einer unlimitierten Ergebnismenge.

Jede Spalte der Ergebnismenge führt zur Erzeugung einer Named List, deren Namen in der Form k:SPALTENNAME (alles in Großbuchstaben, siehe Beispiele) gebildet wird. Existiert bereits eine Liste mit dem entsprechenden Namen, werden die Werte der bestehenden Liste gelöscht.

Der Rückgabewert der Funktion ist die Anzahl an erhaltenen Datensätzen.

Sind in der Ergebnismenge Spalten vom Typ Blob, wird über den Parameter m festgelegt, ob die Binärdaten Base64-kodiert in die Ergebnislisten geschrieben werden sollen oder nicht. Ist m true, wird Base64-kodiert, ansonsten bleiben die Daten unverändert. Gibt es keine solchen Spalten in der Ergebnismenge, hat der Wert des Parameters keinen Effekt.

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

Präfix der zu erzeugenden Ergebnislisten.

l

(optional) Maximale Anzahl zu lesender Zeilen. Default: 0.

m

(optional) true, wenn Daten aus einer Spalte vom Typ BLOB Base64-kodiert in die Ergebnislisten aufgenommen werden sollen. Default: false.

n

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

o

(optional) true wenn für die Erweiterung der Listennamen der Displayname und nicht der Spaltenname verwendet werden soll (siehe Beispiele). Default: false.

p

(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 enthalte (insgesamt imaginäre 20000 Einträge).


Parameter a

b

c

d…j

k

l

m

n

o

p

Ergebnis

select zipcode as zip, city as town from zipcodes

testdb



ZIPS

0





20000

select zipcode as zip, city as town from zipcodes

testdb



ZIPS

0



true


20000

Im Anschluss der Ausführung von Beispiel 1 wurde die Liste ZIPS:ZIPCODE mit den Werten aus der Spalte zipcode und die Liste ZIPS:CITY mit den Werten aus Spalte city erzeugt. Im Fall von Beispiel 2 lauten die Listennamen ZIPS:ZIP und ZIPS:TOWN.


Parameter a

b

c

d…j

k

l

m

n

o

p

Ergebnis

select zipcode, city from zipcodes where zipcode = &1

testdb

80336


ZIPS

0





1

select zipcode, city from zipcodes where zipcode = @1:i@

testdb

80336


ZIPS

0





1

Erzeugt die zuvor genannten Listen von Beispiel 1 mit jeweils einem Element 80336 bzw. Munich.


Parameter a

b

c

d…j

k

l

m

n

o

p

Ergebnis

select zipcode, city from zipcodes where county = '&1'

testdb

Bayern


ZIPS

0





1500

select zipcode, city from zipcodes where county = @1:s@

testdb

Bayern


ZIPS

0





1500

select zipcode, city from zipcodes where county = &1

testdb

Bayern


ZIPS

0





Fehler, da Textliterale in Hochkommas stehen müssen.


Erzeugt in den ersten beiden Fällen die zuvor genannten Listen mit den Postleitzahlen von Bayern.