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.