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

Susan Sarandon
リリース: 2024-10-26 04:28:30
オリジナル
915 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!