The EXECUTE statement executes the prepared statement. You can bind the data value after the USING clause if a bind parameter (?) is included in the prepared statement. You cannot specify user-defined variables like an attribute in the USING clause. An value such as literal and an input parameter only can be specified.
EXECUTE stmt_name [USING value [, value] …]
PREPARE st FROM 'SELECT 1 + ?';
EXECUTE st USING 4;
1+ ?:0
==========================
5
SET @a=3;
EXECUTE st USING @a;
1+ ?:0
==========================
4
PREPARE st FROM 'SELECT ? + ?';
EXECUTE st USING 1,3;
?:0 + ?:1
==========================
4
PREPARE st FROM 'SELECT ? + ?';
EXECUTE st USING 'a','b';
?:0 + ?:1
==========================
'ab'
PREPARE st FROM 'SELECT FLOOR(?)';
EXECUTE st USING '3.2';
floor( ?:0 )
==========================
3.000000000000000e+000
PREPARE st FROM 'SELECT FLOOR(?)';
EXECUTE st USING 3.2;
floor( ?:0 )
==========================
3.0