我知道在 MySQL (>=5.0.13) 上的用户定义存储过程中可以有动态 SQL。所以如果我们有这样的事情:
CREATE PROCEDURE test()
BEGIN
SET @query = "SELECT * FROM temp";
PREPARE stmt FROM @query;
EXECUTE stmt;
END
我的问题是:如何使用执行的动态语句的结果?
我知道在 MySQL (>=5.0.13) 上的用户定义存储过程中可以有动态 SQL。所以如果我们有这样的事情:
CREATE PROCEDURE test()
BEGIN
SET @query = "SELECT * FROM temp";
PREPARE stmt FROM @query;
EXECUTE stmt;
END
我的问题是:如何使用执行的动态语句的结果?
如果结果是单个值,您可以将其加载到变量中。如果您的查询检索到多个记录的结果集,您可以将它们加载到游标中并逐条记录循环以进行进一步处理。见http://dev.mysql.com/doc/refman/5.0/en/cursors.html