我正在寻找类似于MySQL中JSON数组的
forEach
函数。在MySQL JSON数据类型中,我像这样管理ID:[1, 2, 3, 4, 5]
,并且我想对列表中的每个项目执行操作。一个天真的解决方案是使用WHILE循环和从0开始计数到VAR_MANAGER_ID为null结束的计数器。以下是WHILE循环内部的虚构示例:SET VAR_PATH = CONCAT('$[', COUNTER, ']');
SET VAR_MANAGER_ID = JSON_PARSE(VAR_MANAGER_IDS, PATH);
# See if we've reached the end of the list
IF VAR_MANAGER_ID IS NULL
THEN
BREAK
END;
INSERT INTO LU_MANAGER (MANAGER_ID) VALUES (VAR_MANAGER_ID);
但一定有更好的方法!我该怎么做才能像这样:
FOREACH JSON_PARSE(VAR_MANAGER_IDS, '$[*]') AS VAR_MANAGER_ID
INSERT INTO LU_MANAGER (MANAGER_ID) VALUES (VAR_MANAGER_ID);