MYSQL ストアド プロシージャに多数の準備済みステートメントがあります。ステートメントが NULL (動的に生成された SQL ステートメント) になる可能性があるため、実行時の例外を回避するために、常に以下のアプローチを使用しています。しかし、プリペアド ステートメントを多用しているため、うるさいと思われるすべての場所で NULL チェックを行います。
SET @s10=CONCAT('UPDATE tlist SET total_count=total_count-1 WHERE group_id =',in_location_id,' AND sub_type=',COMPANY_COUNT,' AND sub_id in (',var_companies,')' );
IF(@s10 is NOT NULL) THEN
PREPARE stmt FROM @s10;
EXECUTE stmt;
END IF;
上記のコードを1行または2行に最小化するために私が従うことができる他のアプローチはありますか? (ステートメントを作成して一緒に実行し、1 つのステップで一緒に Null を処理しますか?)
小さなサブルーチンを実行し、準備されたステートメントをそれに渡し、上記のチェックを実行できることは知っていますが、組み込みの MYSQL 機能があるかどうかを知りたいです。
ありがとうございました