【问题标题】:Mysql create a while loop without creating a procedureMysql创建一个while循环而不创建过程
【发布时间】:2019-06-06 23:36:31
【问题描述】:

我正在尝试在一个表中插入多行,其中包含一个 while 循环。我已经设法通过在另一个版本中创建一个过程和一个分隔符来做到这一点。但是,我只想使用这个循环而不需要创建和调用一个过程。下面的代码给了我一个语法错误。我该怎么做?

DECLARE i INT DEFAULT 0; 
WHILE i < ? DO 
INSERT INTO Reservations (Timeslot_idTimeslot, Exam_type_idExam_type, Temp_Student_idStudent, Lock_expiration_date) VALUES (1, 1, 1, '2019-06-06 00:00:00'); 
SET i = i + 1; 
END WHILE;

【问题讨论】:

标签: mysql


【解决方案1】:

while 循环仅适用于过程、函数或触发器。 如果您的目标是避免将代码嵌入到过程中,请选择 函数或触发器。

【讨论】:

    【解决方案2】:

    从 MySQL 8 开始,您可以使用带有递归的 CTE 将行乘以可变次数

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-16
      • 2011-03-05
      • 2021-02-20
      • 1970-01-01
      • 2011-09-08
      相关资源
      最近更新 更多