我可以在不使用过程/函数的情况下在MySQL中运行循环吗?

Mr.*_*Boy 20 mysql mysql-workbench

对于测试,是否可以从MySQL工作台或类似工具运行循环?我试过但是错了.

如果有可能,请提供一个我可以运行的简单示例.

Tha*_*anu 17

没有存储过程,您无法在SQL编辑器中执行for循环.我使用TOAD for MySQL.

快速存储过程应该完成这项工作:

DELIMITER $$

DROP PROCEDURE IF EXISTS proc_loop_test$$
CREATE PROCEDURE proc_loop_test()
BEGIN
  DECLARE int_val INT DEFAULT 0;
  test_loop : LOOP
    IF (int_val = 10) THEN
      LEAVE test_loop;
    END IF;

    SET int_val = int_val +1;
    SELECT int_val; 
  END LOOP; 
END$$

DELIMITER ;
Run Code Online (Sandbox Code Playgroud)

  • 有同样的问题.通过在过程之前将分隔符更改为"$$"并将其更改回";"之后解决它.更多信息:http://www.mysqltutorial.org/stored-procedures-loop.aspx (4认同)
  • 好.经过一个多小时的测试,我最终得到:"_At`CREATE PROCEDURE proc_loop_test()BEGIN DECLARE int_val INT DEFAULT 0;`MySQL说:`#1064 - 你的SQL语法有错误;查看对应的手册你的MySQL服务器版本正确的语法在''第3行'_"附近使用.我错过了什么? (2认同)