2

mysql で SP を作成しました。ここで、1 つの IN パラメータ 'val' を渡します。プロシージャの本体部分で、クエリの where 条件に 'val' を持つ select ステートメントで if else 条件を使用しています。選択クエリの 1 つで、「val」を使用したくありません。では、「val」パラメータを使用しない条件のプロシージャを呼び出す方法。前もってありがとう、クリシュナ

4

1 に答える 1

0

null 値をストアド プロシージャに渡し、ストアド プロシージャに null を検出させ、それに応じて動作させます。

null でストアド プロシージャを呼び出すには:

call my_proc(null);

次に、プロシージャ内で、パラメーターが null の場合にパラメーターを「無視」する方法を次に示します。

select ...
from ...
where ...
and (val is null or some_column = val)
于 2013-03-26T06:12:51.550 に答える