虽然循环在大约4周后才停止工作,但是没有出现问题

时间:2019-05-17 13:48:45

标签: mysql

我一直在引用和使用存储的While循环,没有问题,每天大约4周。几天前它刚刚停止工作。

我尝试在没有帮助的情况下使用其他表来运行它。

DELIMITER $$ 
CREATE PROCEDURE sp_ukdatatable_route_loop (IN _date date) 
BEGIN 
SET @first = 1, @last = (
SELECT all_act
    FROM ukdatatable_input_ops
    WHERE date=_date
); 
WHILE(@first <= @last) 
DO 
    INSERT IGNORE INTO ukdatatable_input_daily (date)
    VALUES (_date);
    SET @first = @first + 1;
    END WHILE; 
END $$

循环应从表ukdatatable_input_ops中查找整数,然后运行循环,创建(新)行数,该行数等于从另一个表ukdatatable_input_daily中表返回的整数

有人能帮忙吗?

涉及的表;

CREATE TABLE `ukdatatable_input_daily` (
 `entry_id` int(10) NOT NULL AUTO_INCREMENT,
 `date` date DEFAULT NULL,
 `aaa` varchar(25) DEFAULT NULL,
 `bbb` varchar(50) DEFAULT NULL,
 `ccc` varchar(25) DEFAULT NULL,
 `ddd` varchar(25) DEFAULT NULL,
 `eee` varchar(25) DEFAULT NULL,
 `arrival_time` time DEFAULT NULL,
 `departure_time` time DEFAULT NULL,
 `comments` text,
 `status` varchar(10) NOT NULL DEFAULT 'edit',
 `day` varchar(10) NOT NULL,
 PRIMARY KEY (`entry_id`)
) ENGINE=InnoDB AUTO_INCREMENT=156856 DEFAULT CHARSET=utf8mb4


CREATE TABLE `ukdatatable_input_ops` (
 `entry_id` int(10) NOT NULL AUTO_INCREMENT,
 `date` date DEFAULT NULL,
 `fff` time DEFAULT NULL,
 `ggg` int(10) DEFAULT NULL,
 `hhh` int(10) DEFAULT NULL,
 `iiil` int(10) DEFAULT NULL,
 `jjj` int(10) NOT NULL,
 `all_act` int(10) DEFAULT NULL,
 PRIMARY KEY (`entry_id`),
 UNIQUE KEY `date` (`date`)
) ENGINE=InnoDB AUTO_INCREMENT=52 DEFAULT CHARSET=utf8mb4

0 个答案:

没有答案