2012-09-03 5 views
0

동적 쿼리에서 필드 값을 가져 오는 방법을 알고 싶습니다. MySQL의 저장 프로 시저에서이 작업을 수행합니다. 나는 다음과 같은 코드를했습니다 :
MySQL - 동적 쿼리에서 필드 값을 가져 오는 방법?

... 
DECLARE l_query VARCHAR(500); 
DECLARE l_table VARCHAR(50); 

SET l_table = 'tb_user'; 
SET @l_query = concat('SELECT count(1) FROM ', l_table); 
-- #Note that l_table will not always for tb_user, 
-- it can be changed with other table name. 

PREPARE l_sql FROM @l_query; 
EXECUTE l_sql; 
... 


문제는 어떻게 집계 결과 (count(1))의 가치를 얻을 수 있습니다 ..?
이 동일한 저장 프로 시저에서 다음 프로세스에 사용될 것이므로이 값이 필요합니다.

많은 분들께 감사드립니다.

+0

http://stackoverflow.com/questions/5591338/my-sql-dynamic-query-execute-and-get-ouput-into-a-variable-in- : 귀하의 경우

stored-procedure/5591433 # 5591433 – Devart

답변

1

짧음 : SELECT INTO을 사용하여 변수에 값을 선택하십시오.

... 
DECLARE l_query VARCHAR(500); 
DECLARE l_table VARCHAR(50); 
DECLARE cnt INTEGER; 

SET l_table = 'tb_user'; 
SET @l_query = concat('SELECT count(1) INTO @cnt FROM ', l_table); 
-- #Note that l_table will not always for tb_user, 
-- it can be changed with other table name. 

PREPARE l_sql FROM @l_query; 
EXECUTE l_sql; 
-- Use cnt variable here 
... 
+0

owh 위대한, 그래서 나는 '@ cnt'에서 값을 얻을 수 있습니다. 정말 고맙습니다. – Praditha

관련 문제