ホームページ >データベース >mysql チュートリアル >値の文字列をストアド プロシージャの IN 句に渡す方法

値の文字列をストアド プロシージャの IN 句に渡す方法

Susan Sarandon
Susan Sarandonオリジナル
2024-10-26 04:28:301000ブラウズ

How to Pass a String of Values to an IN Clause in a Stored Procedure?

IN 句への変数の受け渡し

IN 句を含む SELECT ステートメントを含むストアド プロシージャを考えてみましょう。

SELECT product_id, product_price FROM product
WHERE product_type IN ('AA','BB','CC');

値の文字列を含む 1 つの変数から IN 句の値を設定する場合は、次のようになります。

'AA,BB,CC'

このアプローチを使用すると、問題が発生する可能性があります。解決策は次のとおりです。

文字列を IN 句に直接渡す代わりに、次の形式でパラメータ値として渡します。

'AA,BB,CC'

FIND_IN_SET 関数を使用して、各 product_type 値は入力パラメータに存在します:

SELECT product_id, product_price
FROM product
WHERE FIND_IN_SET(product_type, param);

この変更されたステートメントでは、param は値の文字列を含む入力パラメータを表します。

以上が値の文字列をストアド プロシージャの IN 句に渡す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。