Я хочу записать данные записи в таблицу, но данные находятся в массиве. Я написал код, но по какой-то причине он не работает, он может помочь найти ошибку. Он не выдает ошибок, он пишет пустые столбцы!
sCount := APEX_JSON.get_count(p_path => 'quantitative_index' , p_values => tv);
IF sCount > 0 THEN
FOR i in 1 .. sCount LOOP
q_id := apex_json.get_varchar2(p_path => 'quantitative_indexs['|| i ||'].id', p_values => tv);
q_name := apex_json.get_varchar2(p_path => 'quantitative_indexs['|| i ||'].name', p_values => tv);
q_guid := apex_json.get_varchar2(p_path => 'quantitative_indexs['|| i ||'].guid', p_values => tv);
select count(*) into v_det_vol from DETAILS_VOLUME where ID = q_id and NAME = q_name;
if v_det_vol = 0 then
INSERT INTO DETAILS_VOLUME (ID, NAME, guid)
VALUES (q_id, q_name ,q_guid);
commit;
end if;
END LOOP;
END IF;
вот json
{
"quantitative_index": [
{
"id": 12121,
"name": "Менеджер",
"guid": "100"
},
{
"id": 12122,
"name": "Менеджер1",
"guid": "100"
}
]
}
sCount := APEX_JSON.get_count(p_path => 'quantitative_index' , p_values => tv);
IF sCount > 0 THEN
FOR i in 1 .. sCount LOOP
q_id := apex_json.get_varchar2(p_path => 'quantitative_indexs['|| i ||'].id', p_values => tv);
q_name := apex_json.get_varchar2(p_path => 'quantitative_indexs['|| i ||'].name', p_values => tv);
q_guid := apex_json.get_varchar2(p_path => 'quantitative_indexs['|| i ||'].guid', p_values => tv);
select count(*) into v_det_vol from DETAILS_VOLUME where ID = q_id and NAME = q_name;
if v_det_vol = 0 then
INSERT INTO DETAILS_VOLUME (ID, NAME, guid)
VALUES (1, '1' ,'1');
commit;
end if;
END LOOP;
END IF;
И если да, то записывает!