我已经搜索过类似的内容,并且我发现了另一个与此类似的帖子,我遵循了我认为的后续内容,但我仍然看到一个问题。
我也一直在筛选 MySQL 手册,我这里的内容看起来是正确的。
DELIMITER $$
CREATE DEFINER=`perimUser`@`localhost` PROCEDURE `assignLOBId`()
BEGIN
declare id, done INT default 0;
declare name VarChar(45);
declare lobCursor Cursor for Select idLineOfBusiness as id, name from LineOfBusiness;
declare continue handler for not found set done = 1;
OPEN lobCursor;
my_loop: LOOP
FETCH lobCursor INTO id, name;
IF done = 1 THEN
CLOSE lobCursor;
LEAVE my_loop;
END IF;
insert into test values (id, name);
UPDATE medium set idLOB = id where LOB = name;
UPDATE low set idLOB = id where LOB = name;
End LOOP my_loop;
END
我已经运行了我用于游标的查询,它确实返回了 13 行。中表和低表都充满了大约 600 行的数据。每个 LOB 列中的 LOB 匹配值。使用的值创建业务线中的那些是从中低档产生的。
这里的目标是在我对中低数据进行标准化时多次使用这种模式。否则我会走捷径并创建一堆手动更新语句。