Einzelnen Beitrag anzeigen

jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#2

AW: selectable stored procedure

  Alt 25. Dez 2016, 13:12
Du kannst Select Statements, die die gleiche Struktur ausgeben per Union bzw. Union all hintereinander hängen:
Code:
select feld1, .. feldx from mytable where ein Bedingung
union
select feld1, .. feldx from mytable where andere Bedingung
Dann gibt es das Problem auf NULL zu prüfen. Es wird nicht mit
Code:
feldxy<!>=Null
gemacht, sondern mit

Code:
feldxy is <not> Null
Das bedeutet, Du musst vorher(vor dem SQL Abruf) wissen, ob ein PArameter leer ist oder nicht und das SQL entsprechend anlegen.
Das sollte aber in einer SP kein Problem sein oder?
Du schickst dann nach der Prüfung unterschiedliche SQL Statements ab, die entweder den einen oder den anderen Parameter nutzen.

P.S.: ach so, Du kannst natürlich die verschiedenen Kriterien mit OR hintereinander in die WHERE Bedingung hängen. Das bedeutet aber etwas Ressourcenverschwendung. Denn es werden dann alle 4, 5 .. Abfragen durchgeführt auch wenn Du immer nur eine brauchst.
P.S.2: Das UNION fasst automatisch Mehrfachergebnisse zusammen zu einem Datensatz, UNION ALL würde alle Ergebnisse einzeln aufführen, also auch Mehrfachtreffer.
Gruß, Jo

Geändert von jobo (25. Dez 2016 um 13:15 Uhr)
  Mit Zitat antworten Zitat