EXECUTE 문은 prepared statement을 실행하며, prepared statement에 바인드 파라미터(?)를 포함하면 USING 절 뒤에 데이터 값을 바인딩할 수 있다. USING 절에서는 세션 변수뿐만이 아니라 리터럴, 입력 파라미터와 같은 값도 지정할 수 있다.
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