Thomas Darimont
Erfahrenes Mitglied
Hallo,
hier mal ein kleines Beispiel wie man in Oracle SQL, bzw. auch allgemein in
SQL, parameterisierte Abfragen mit einem Datenfilter formulieren kann:
- Wenn ein Filter angegeben ist, wird entweder die zutreffende Datenmenge oder nichts zurückgeben (wenn das Suchkriterium nicht erfüllt werden kann).
- Wird der Filter nicht angegeben (Filter = null) so werden alle Datensätze zurückgegeben.
Der entscheidende Teil der Arbeit wird hierbei über die coalesce-Funktion erledigt.
Gruß Tom
hier mal ein kleines Beispiel wie man in Oracle SQL, bzw. auch allgemein in
SQL, parameterisierte Abfragen mit einem Datenfilter formulieren kann:
- Wenn ein Filter angegeben ist, wird entweder die zutreffende Datenmenge oder nichts zurückgeben (wenn das Suchkriterium nicht erfüllt werden kann).
- Wird der Filter nicht angegeben (Filter = null) so werden alle Datensätze zurückgegeben.
SQL:
WITH
DATA AS (
SELECT 1 as key FROM dual
UNION
SELECT 2 AS KEY FROM dual
UNION
SELECT 3 AS KEY FROM dual
UNION
SELECT 4 as key FROM dual
)
select * from data where coalesce(to_number(:filter),key) = key
Der entscheidende Teil der Arbeit wird hierbei über die coalesce-Funktion erledigt.
Gruß Tom