ストアド プロシージャ内に 540 文字を超える SQL 選択ステートメントがあります。
l_final_query
タイプの変数に配置しましたLONGTEXT
さて、このクエリを次のように実行すると:
PREPARE stmt7 FROM @l_final_query;
EXECUTE stmt7;
失敗します。ただし、SQL の最後の order by 句の切り取りを開始すると、機能します。過去に、実行に使用される変数のサイズに関する問題があり、回避策がありました。しかし、今は回避策がありません。order by
句を別の変数に配置し、これを大きな選択と連結しようとしましたl_final_query2
が、それも機能しません。
これは、変数に添付されて実行される sql です。order by 句を含めました。
set @l_final_query = concat("SELECT a.project_code as projectCode, a.project_name as projectName, a.project_creation_date as projectCreationDate, a.project_end_date as projectEndDate, a.project_status as projectStatus, count(c.project_code) as num from projects a inner join ", l_table_name, " b on a.project_name like concat(\"%\",b.expertise_desc,\"%\") OR a.project_description like concat(\"%\",b.expertise_desc,\"%\") left join project_ids c on c.project_code = a.project_code group by a.project_code order by a.project_status, a.project_creation_date desc");