En tu SP,
myquery y
@myquery no son la misma variable.
la primera es una variable local del SP, la otra es una variable de usuario, y pertenece a la conexión, no al SP.
Toda variable que comienza con "@" es una variable de usuario, y es persistente en al conexión donde se inicializó. Además no se declaran (no tienen tipo), sino que adquieren su tipo al inicializarlas.
Prueba:
Código MySQL:
Ver originalDELIMITER $$
SET @myquery
= 'UPDATE pruebas SET prop=1000;' ; PREPARE stmt2
FROM @myquery
; EXECUTEstmt2;
DELIMITER ;