我在python
使用MySQL工作,希望从存储过程中获取多个数据列表。
我正在使用PyMySql
来连接我的数据库。并试图做这样的事情,但它不起作用
CREATE DEFINER=`root`@`%` PROCEDURE `spGetData`(IN ssscreenId INT(11),)
BEGIN
SELECT clientId, clientName FROM apl_cb.Client WHERE isActive = 1 AND isDeleted = 0;
SELECT bankId, bankName, bankAddress FROM apl_cb.Bank WHERE isDeleted = 0 AND isActive = 1;
SELECT eventId, eventName, eventGroup FROM apl_cb.Event WHERE isActive = 1 AND isDeleted = 0 AND menuEvent = 0 AND screenId = ssscreenId;
END
任何形式的帮助都将受到赞赏。
感谢
答案 0 :(得分:4)
您是否尝试在Python nextset()
上使用cursor
方法跳转到下一个结果集? (python.org/dev/peps/pep-0249/#nextset)
如果你已经尝试过,它不起作用,那你就不走运了;您的Python程序将无法从单个存储过程中检索多个结果集。
请记住,MySQL存储过程提供封装优势,但不提供效率优势。在存储过程中发出三个查询所花费的时间与从Python程序一个接一个地发出它们的时间相同(或者可能稍微高一点)。这是对其中一部分的解释。 http://www.joinfu.com/2010/05/mysql-stored-procedures-aint-all-that/