【发布时间】:2021-11-01 11:36:22
【问题描述】:
您好,我是 mysql 中的 SP 和 JSON 函数的新手
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `adocs_sp_web_questionnaire_has_child`(IN
`var_has_child_text` TEXT, IN `var_parent_id` INT, OUT `var_child_text` TEXT)
BEGIN
DECLARE counter INT DEFAULT 0;
DECLARE count_max INT DEFAULT 0;
DECLARE individual_question,question_child,question_name,questions_list, json VARCHAR(255);
DECLARE i,var_parent_id_output INT DEFAULT 0;
SELECT var_has_child_text INTO json;
SELECT JSON_EXTRACT(json,"$.child_list") AS questions_list;
END
var_has_child_text 是一个输入参数,具有以下 JSON 值,var_parent_id 为 5
{"child_list":[{"name": "Sub Question 1", "has_child": [{"name": "Sub Question 1 1",
"has_child": [{"name": "Sub Question 1 1 1"}, {"name": "Sub Question 1 1 2"}, {"name": "Sub
Question 1 1 3"}]}, {"name": "Sub Question 1 2"}, {"name": "Sub Question 1 3"}]}, {"name":
"Sub Question 2"}, {"name": "Sub Question 3"}]}
我正在尝试使用
提取上述 var_has_child_text (JSON)SELECT JSON_EXTRACT(json,"$.child_list") AS questions_list;
但它总是返回 null ;
但我需要根据键“child_list”将这个 JSON 对象数组拆分为单独的迭代,并根据我需要执行其他内容的值。
TIA。
详细的视频要求:
【问题讨论】:
标签: mysql stored-procedures mariadb