AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Stored Prodeure mit in im Select
Thema durchsuchen
Ansicht
Themen-Optionen

Stored Prodeure mit in im Select

Ein Thema von Dumpfbacke · begonnen am 8. Feb 2020 · letzter Beitrag vom 11. Feb 2020
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.508 Beiträge
 
Delphi 12 Athens
 
#5

AW: Stored Prodeure mit in im Select

  Alt 8. Feb 2020, 23:46
Natürlich geht x IN (:EinParameter) nicht, denn es ist ein Parameter mit einem Wert, egal was du da rein schreibst.

x IN (:Param1, :Param2) ginge.
Ansonsten müsstest du den SQL+Text ohne Parameter manuell zusammenbauen, oder, was ich dann gern mal nehme, das sind Makros x IN (&Param) die das Gleiche machen.

Die einzigen "guten" Lösungen hier, wären Array-Parameter.
* so manches DBMS und zugehörige Zugriffskomponenten können an einen Parameter ein Array übergeben. (nicht wie du einen String, wo irgendwas drin steht)
* oder du übergibt es als String und trennst es im SQL in ein Array auf
x IN string_to_row(:KommagetrennterParameter, ',') , x IN unnest(string_to_array(:KommagetrennterParameter, ',')) , bzw. x = ANY(string_to_array(:KommagetrennterParameter, ','))

Und deine SP braucht dann natürlich ebenfalls einen Array-Parameter, oder notfalls einen String-Parameter, der intern in ein Array zerlegt wird, genau so, wie es bei der Übergabe an den zweiten Parameter für den IN-Operator der Fall ist.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 9. Feb 2020 um 11:36 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz