gpt4 book ai didi

没有存储例程的MySQL循环

转载 作者:行者123 更新时间:2023-11-29 00:35:24 25 4
gpt4 key购买 nike

我经常发现自己需要执行类似批处理的 MySQL 操作。现在我需要使用参数 0、1、2、... 1,000 调用存储例程 1,000 次。我可以创建一个带有 LOOP 构造的存储例程来执行此操作,或者编写

CALL MyStoredRoutine(0);
CALL MyStoredRoutine(1);
...
CALL MyStoredRoutine(1000);

我认为这两个选项都非常麻烦。我想知道是否有更简单的方法来做到这一点?

最佳答案

假设要求只传递一个 INT 参数,如果您使用 *nix(使用 ~/.mylogin.cnf 提供的 mysql 用户凭据),则可以在 shell 中使用 bash 单行代码。

$ for i in {1..1000}; do mysql -e "call `db`.`selecta`($i)"; done

+------+
| a |
+------+
| 1 |
+------+
+------+
| a |
+------+
| 2 |
+------+
...

这里,过程 selecta 只是对传递给该过程的参数执行 SELECT,但您可以将该技术应用于任何例程。

关于没有存储例程的MySQL循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14561472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com