Nếu bạn muốn thực hiện việc này với một câu lệnh đã chuẩn bị, thì bạn cần phải đưa phép gán biến trong khai báo câu lệnh ban đầu.
Nếu bạn muốn sử dụng một thói quen được lưu trữ thì sẽ dễ dàng hơn. Bạn có thể chỉ định trực tiếp giá trị trả về của một hàm được lưu trữ cho một biến và các thủ tục được lưu trữ hỗ trợ các tham số.
Ví dụ:
Tuyên bố chuẩn bị:
PREPARE square_stmt from 'select pow(?,2) into @outvar';
set @invar = 1;
execute square_stmt using @invar;
select @outvar;
+---------+
| @outvar |
+---------+
| 1 |
+---------+
DEALLOCATE PREPARE square_stmt;
Chức năng được lưu trữ:
delimiter $$
create function square_func(p_input int) returns int
begin
return pow(p_input,2);
end $$
delimiter ;
set @outvar = square_func(2);
select @outvar;
+---------+
| @outvar |
+---------+
| 4 |
+---------+
Thủ tục lưu trữ:
delimiter $$
create procedure square_proc(p_input int, p_output int)
begin
set p_output = pow(p_input,2);
end $$
delimiter ;
set @outvar = square_func(3);
call square_proc(2,@outvar);
select @outvar;
+---------+
| @outvar |
+---------+
| 9 |
+---------+