MySQL: выполнить инструкцию SQL в переменной


Я создаю хранимую процедуру в MySQL 5.1.40, которая должна выполнять множество инструкций SQL.

Одно конкретное утверждение, которое часто повторяется, очищает временную таблицу:

DELETE FROM w_projection_temp WHERE user_id = uid;

Переменнаяuid является параметром IN для SP.

Можно ли назначить всю эту инструкцию SQL другой переменной, а затем каким-то образом выполнить (вычислить?) эта новая переменная? например:

DECLARE clear_temp VARCHAR;
SET clear_temp = 'DELETE FROM w_projection_temp WHERE user_id = uid;'

MTIA

1 2

1 ответ:

PREPARE clear_temp FROM "DELETE FROM w_projection_temp WHERE user_id = ?"
EXECUTE clear_temp USING uid;
DEALLOCATE PREPARE clear_temp;