Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL lưu kết quả của EXECUTE trong một biến?

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 |
+---------+



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:điền vào các trường trống bằng số 0 khi sử dụng GROUP BY

  2. Làm cách nào để lưu trữ 60 Boolean trong Cơ sở dữ liệu MySQL?

  3. Phương ngữ ngủ đông cho MySQL 8?

  4. PHP:Hiển thị hộp thoại xác nhận có / không

  5. MySQL có thể nối các chuỗi với ||