OUT または INOUT パラメータを使用して MySQL でストアド プロシージャを作成すると、機能しません。ストアドプロシージャを空のままにしても。DDL は次のとおりです。
CREATE DEFINER=`root`@`localhost` PROCEDURE `testing_inout`(`a` int,INOUT `b` int)
BEGIN
END
最初のパラメーターは通常の IN パラメーターです。2 つ目は INOUT パラメータです (OUT として設定しても同じ問題が続きます)
このストアド プロシージャを呼び出すと、次のようなエラーが表示されます。
ルーチン db_name.testing_inout の OUT または INOUT 引数 2 は、BEFORE トリガーの変数または NEW 疑似変数ではありません。
このエラーは、コードがストアド プロシージャ内に記述されていても持続します。mysql バージョン 5.1.41 を実行しています。
このエラーのために再帰ストアド プロシージャの結果を出力できないため、これは私にとって大きな問題です。