Heim >Datenbank >MySQL-Tutorial >Wie übergebe ich eine Wertefolge an eine IN-Klausel in einer gespeicherten Prozedur?
Variablen an eine IN-Klausel übergeben
Betrachten Sie eine gespeicherte Prozedur mit einer SELECT-Anweisung, die eine IN-Klausel enthält:
SELECT product_id, product_price FROM product WHERE product_type IN ('AA','BB','CC');
Wenn Sie die Werte der IN-Klausel aus einer einzelnen Variablen füllen möchten, die beispielsweise eine Zeichenfolge von Werten enthält:
'AA,BB,CC'
Bei diesem Ansatz können Schwierigkeiten auftreten. Hier ist eine Lösung:
Anstatt zu versuchen, die Zeichenfolge direkt an die IN-Klausel zu übergeben, übergeben Sie sie als Parameterwert im folgenden Format:
'AA,BB,CC'
Verwenden Sie die Funktion FIND_IN_SET, um festzustellen, ob Jeder Produkttypwert ist im Eingabeparameter vorhanden:
SELECT product_id, product_price FROM product WHERE FIND_IN_SET(product_type, param);
In dieser modifizierten Anweisung stellt param den Eingabeparameter dar, der die Wertezeichenfolge enthält.
Das obige ist der detaillierte Inhalt vonWie übergebe ich eine Wertefolge an eine IN-Klausel in einer gespeicherten Prozedur?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!