我正在使用python与mySql数据库建立连接并运行一个过程。在该过程中,有两个select语句返回结果。 我使用以下代码执行过程
query = "Call procedure_name()"
cursor.execute(query)
procedureResult = cursor.fetchall();
但这会返回第一个select语句的唯一结果。 如何获得第二次选择的结果?
程序
DELIMITER $$
USE `my_database`$$
DROP PROCEDURE IF EXISTS `dim_get_orders`$$
CREATE DEFINER=`root`@`%` PROCEDURE `dim_get_orders`()
BEGIN
SELECT 'hi';
SELECT 'hello';
END$$
DELIMITER ;
答案 0 :(得分:-1)
阅读" DB API 2.0规范"在光标对象上。根据它,存储过程调用可以使用nextset()
方法来获取第二个查询。
我没有在MySQL服务器上使用cur.nextset()
。但它确实有效。