it-source

MySQL은 EXECUTE의 결과를 변수에 저장합니까?

criticalcode 2023. 10. 3. 09:52
반응형

MySQL은 EXECUTE의 결과를 변수에 저장합니까?

EXECUTE 문의 결과를 변수에 저장하려면 어떻게 해야 합니까?뭐 이런 거.

SET a = (EXECUTE stmtl);

준비된 문을 사용하여 이 작업을 수행하려면 원래 문 선언에 변수 할당을 포함해야 합니다.

저장된 루틴을 사용하려면 더 쉽습니다.저장된 함수의 반환 값을 변수에 직접 할당할 수 있으며 저장 프로시저는 매개 변수를 지원합니다.

예:

준비된 설명문:

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;

저장된 함수:

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

저장 프로시저:

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

언급URL : https://stackoverflow.com/questions/2608668/mysql-save-results-of-execute-in-a-variable

반응형