ホームページ  >  に質問  >  本文

タイトルを次のように書き換えます: 整数の配列を MySQL ストアド プロシージャに渡す

整数の配列とその他の入力を受け取るストアド プロシージャを作成したいと考えています。例:

リーリー

ストアド プロシージャでは次のように使用したいと思います:

リーリー

問題は、この方法では配列の最初の整数に対応する行しか取得できないことです。

それを機能させる方法はありますか (FIND_IN_SET も使用してみましたが、IN とまったく同じことを行います)。

ストアド プロシージャをテストするために行った呼び出しは、CALL test (12, 13, '1, 2, 3') でした。

P粉275883973P粉275883973372日前630

全員に返信(2)返信します

  • P粉590428357

    P粉5904283572023-11-04 09:16:19

    配列という概念はありません。したがって、これがおそらくあなたができることです

    array 変数の値は、文字列としての '1, 2, 3' です。

      文字列
    1. を分割するための区切り文字として , を使用します。

    2. 各値を一時テーブルに挿入します
    3. したがって、一時テーブルには
    1,2,3

    が含まれます。 最後に一時テーブルを使用します

    返事
    0
  • P粉713866425

    P粉7138664252023-11-04 00:46:05

    FIND_IN_SET() は機能しますが、数値文字列にスペースを含めることはできません。

    ###デモ:### リーリー

    したがって、プロシージャに渡す前にスペースを含まないリストを作成するか、REPLACE() を使用してプロシージャ内のスペースを削除する必要があります。

    返事
    0
  • キャンセル返事