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

Short:用于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 回答