将“Execute statement”结果放入MySQL的变量中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将“Execute statement”结果放入MySQL的变量中相关的知识,希望对你有一定的参考价值。

如何把“EXECUTE语句;”结果变成一个变量,这样我就可以在需要时使用简单的SELECT命令获得结果。结果将包含基于用户输入的随机列数。所以,我想要的是:

SET @RES := EXECUTE stmt;

然后我可以申请─

SELECT @RES;

再想一想,我想要的结果是 -

WITH res_set1 AS (
   EXECUTE stmt;
)
SELECT * FROM res_set1;

提前致谢。

答案

您应该在准备好的语句中使用变量。

您必须构造准备好的语句,以便一次为您提供一行,例如:

SET @sql='SELECT col1, col2 FROM test WHERE id=3 INTO @v1, @v2';
PREPARE stmt FROM @sql; 
EXECUTE stmt;

执行后,您将在变量col1col2中获得来自@v1@v2的值

要处理多行,请在循环中使用预准备语句:

SET @sql='SELECT col1, col2 FROM test WHERE id=? INTO @v1, @v2';
PREPARE stmt FROM @sql; 

SET @idx = 1;

REPEAT
   EXECUTE stmt USING @idx;
   SET @idx = @idx + 1;
UNTIL @idx > 6 END REPEAT;

以上是关于将“Execute statement”结果放入MySQL的变量中的主要内容,如果未能解决你的问题,请参考以下文章

GenericJDBCException: could not execute statement 错误解决

使用 Pandas to_sql 时获取 sqlalchemy.exc.InternalError 异常值为 'cursor.execute(statement, parameters)'

org.hibernate.exception.GenericJDBCException: could not execute statement

org.hibernate.exception.GenericJDBCException: could not execute statement

如何在 MySQL 的“EXECUTE STATEMENT USING”语句中使用变量列表?

Hibernate学习错误集锦-GenericJDBCException: could not execute statement