Hallo,
ich muss in einem
Package die Where-Klausel eines Statements dynamisch zusammensetzen.
Ziel ist es, je nachdem, ob bestimmte Bedingungen erfüllt sind, eine Einschränkung hinzufügen, oder weglassen.
Jetzt habe ich mir gedacht, dass ich die Einschränkungen als String vorbelege und dann einfach an das Statement anhänge, aber irgendwie haut das nicht so hin.
Ich möchte im Prinzip die Where-Klausel über Variablen dynamisch zusammenbauen können.
Delphi-Quellcode:
[...]
xFoo VARCHAR2(32767);
xBar VARCHAR2(32767);
[...]
IF foo THEN
xFoo := ' AND pFoo=1';
END IF;
IF bar THEN
xBar := ' AND pBar=1';
END IF;
SQL-Code:
for r_Data in
(
SELECT [...]
FROM [...]
WHERE [...] || xFoo || xBar
)
LOOP
[...]
END LOOP;
Das haut so natürlich nicht hin, da die UND-Verknüpfung die beiden Variablen an das letzte Where-Element anhängt, und diese nicht als eingene Elemente interpretiert.
Weiß jemand Rat?
[edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit]