Hi,
ich hab ein kleines Problem bei der Erstellung eines SELECT-Cursors in einer gespeicherten Prozedur/Funktion.
Im Prinzip möchte ich folgende Abfrage realisieren:
DECLARE curCursor CURSOR FOR
SELECT * from tbl where id in(1,2,3);
Die IN-Bedingung hät' ich aber gern aus einer String-Variable ausgelesen.
set str_in_clause = "1,2,3";
Wenn ich jetzt allerdings den Cursor mit Variable definiere:
DECLARE curCursor CURSOR FOR
SELECT * from tbl where id in(str_in_clause);
wird die Abfrage effektiv so ausgeführt: SELECT * from tbl where id in("1,2,3"); und nur die 1 wird als Bedingung auslesen.
Hat jemand ne Idee, wie ich den String str_in_clause mehr oder weniger auflösen kann und die Bedingung richtig funktioniert?
Währ nett.
Gruß
HeikoV
ich hab ein kleines Problem bei der Erstellung eines SELECT-Cursors in einer gespeicherten Prozedur/Funktion.
Im Prinzip möchte ich folgende Abfrage realisieren:
DECLARE curCursor CURSOR FOR
SELECT * from tbl where id in(1,2,3);
Die IN-Bedingung hät' ich aber gern aus einer String-Variable ausgelesen.
set str_in_clause = "1,2,3";
Wenn ich jetzt allerdings den Cursor mit Variable definiere:
DECLARE curCursor CURSOR FOR
SELECT * from tbl where id in(str_in_clause);
wird die Abfrage effektiv so ausgeführt: SELECT * from tbl where id in("1,2,3"); und nur die 1 wird als Bedingung auslesen.
Hat jemand ne Idee, wie ich den String str_in_clause mehr oder weniger auflösen kann und die Bedingung richtig funktioniert?
Währ nett.
Gruß
HeikoV