首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将简单的SQL查询存储到用户定义的变量中并在MySQL中执行?

如何将简单的SQL查询存储到用户定义的变量中并在MySQL中执行?
EN

Stack Overflow用户
提问于 2018-02-13 05:28:57
回答 1查看 486关注 0票数 2

我是MySQL新手,我试图将sql语句存储到变量中:

代码语言:javascript
复制
SET @sql = 'SELECT * FROM tbl_tableName';
  SELECT @sql;

它正确执行,并给出了结果:

但是如何看到存储在该变量中的sql语句的结果呢?如果我执行它,它会产生一个错误。

代码语言:javascript
复制
SET @sql = 'SELECT * FROM tbl_defects';
  SELECT @sql;
  PREPARE stmt FROM @sql;
  EXECUTE stmt;

错误:

致命错误:未捕获错误:调用/opt/lampp/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Query.php:567堆栈跟踪中null上的成员函数getClauses():#0

请帮助我执行存储在变量中的sql语句(希望执行/检查存储在该变量中的结果)。我知道我们可以直接运行并在SQL提示符中检查结果)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-13 05:43:58

要获得该变量的结果,您必须首先创建一个stored procedure并执行该过程,您将得到答案。

创建存储过程:

代码语言:javascript
复制
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `test`()
BEGIN  
SET @sql = ('SELECT * FROM tbl_defects');
  SELECT @sql;
  PREPARE stmt FROM @sql;
  EXECUTE stmt;
  DEALLOCATE PREPARE stmt;
END$$
DELIMITER ;

希望这能帮到你。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48760017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档