2012-09-03 63 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-存儲過程/ 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