在重复调用存储过程时迭代列表

时间:2014-06-19 22:17:39

标签: mysql sql stored-procedures

在MySQL数据库中,如何通过迭代字符串列表重复调用存储过程?列表中的每个字符串都是需要单独传递给过程的参数。我在下面编写了一些伪代码,为每个字符串手动调用过程,但是如何在符合MySQL的SQL中重新编写它,以便在每次增加时调用过程,同时一次迭代一个字符串列表?

DELIMITER $$

DROP PROCEDURE IF EXISTS `some_procedure`$$
CREATE PROCEDURE `some_procedure`(_paramname varchar(10))
BEGIN
-- code for procedure omitted for clarity of question
END$$

SET @paramname = 'cat';
CALL `some_procedure`(@paramname)$$

SET @paramname = 'dog';
CALL `some_procedure`(@paramname)$$

SET @paramname = 'lizard';
CALL `some_procedure`(@paramname)$$

SET @paramname = 'chicken';
CALL `some_procedure`(@paramname)$$

DROP PROCEDURE IF EXISTS `some_procedure`$$

0 个答案:

没有答案