MySQLでCASEステートメントを使用してストアドプロシージャを使用しています。
CASEのELSE句(デフォルトと同等)で、空の結果セットを選択して返したいので、ELSEケースを処理しないことでSQLエラーをスローせず、代わりに通常のクエリのように空の結果セットを返します。行を返さなかったでしょう。
これまでのところ、次のようなものを使用してこれを行うことができました。
Select NULL From users Where False
ただし、この例の「users」のように、既存のテーブルに名前を付ける必要があります。それは機能しますが、最終的に使用されるテーブル名の名前が変更されたり削除されたりしても壊れない方法をお勧めします。
試しましSelect NULL Where False
たが、うまくいきません。
を使用Select NULL
すると、空のセットは返されませんが、NULLという名前の列とNULL値を持つ1つの行が返されます。