Выполнить несколько запросов, разделенных точкой с запятой, используя MySQL подготовленный оператор

Я пытаюсь создать хранимую процедуру в MySQL, которая создает новую таблицу при каждом запросе копирует содержимое из другой таблицы, извлекает необходимые данные и, наконец, удаляет таблицу. Хранимая процедура довольно большая, поэтому я не могу выполнить EXECUTE после каждого запроса, и поэтому я пытаюсь выполнить запрос все вместе в формате точки с запятой. Но при окончательном выполнении я получаю код ошибки: 1064. Возможен ли подход, который я пробую, или есть более подходящий.

SET tableName = (SELECT CONCAT("table",(UNIX_TIMESTAMP(NOW()))));

SET @tquery =CONCAT('CREATE TABLE `',tableName,'` (select pt.* from post_table pt join on user u on pt.user_id=u.id where pt.client="client",pt.group="group");');
SET @tquery = CONCAT(@tquery,' SELECT * FROM ',tableName,';');    
SET @tquery = CONCAT(@tquery,' DROP TABLE ',tableName,';');    
PREPARE stmt FROM @tquery;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;  

Ответы на вопрос(1)

Ваш ответ на вопрос