Nie ma dobrego obejścia braku dynamicznego SQL w funkcjach MySQL, tylko niezgrabne klocki. Niektóre rzeczy nadal są wręcz niemożliwe do wykluczenia, na przykład użycie dynamicznie obliczanej nazwy pola lub nazwy tabeli w zapytaniu SQL. Tak, od czasu do czasu istnieje potrzeba robienia tego typu rzeczy!
I nie próbuj oszukiwać, umieszczając Dynamic SQL w procedurze składowanej i owijając funkcję lub wyzwalacz, jak próbował zadający pytanie — MySQL jest zbyt sprytny i wyświetla zwykle niejasny komunikat o błędzie. Uwierz mi, byłem we wszystkich domach.
Wywodząc się z Oracle PL/SQL i MS SQL Server, bardzo tęsknię za bogactwem, jakie PL/SQL i (w niewielkim stopniu) T-SQL oferują przy pisaniu proceduralnego SQL.