0

動的クエリからフィールド値を取得する方法を知りたいです。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))..?
この値は、同じストアドプロシージャの次のプロセスで使用されるため、必要です。

以前に感謝します。

4

1 に答える 1

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
...
于 2012-09-03T07:45:18.963 に答える