为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:
【CPU】:
【问题描述】*:
CREATE OR REPLACE PROCEDURE "parse_json"("PRM_YBDY" IN VARCHAR2(32767))
AUTHID DEFINER
IS
json_obj VARCHAR2;
jsoncount int;
BEGIN
DBMS_OUTPUT.ENABLE();
FOR json_array IN ( select * from json_table(
JL_YBDY,'$[*]' columns (
aae002 varchar path '$.aae002',
aab301 varchar path '$.aab301',
kfy014 varchar path '$.kfy014',
kfy015 varchar path '$.kfy015',
aae138 varchar path '$.aae138')
) as jt1) LOOP
DBMS_OUTPUT.PUT_LINE(json_array.aae002);
END LOOP;
END;
编译:错误号: -2205
错误消息: 无效的数组查询对象
但是下面这个可以,
FOR json_array IN ( select * from json_table(
PRM_YBDY,'$.data.item[]' columns (
psnNo varchar path '$.psnNo[]')
) as jt1) LOOP
DBMS_OUTPUT.PUT_LINE(json_array.psnNo);
print json_array.psnNo;
END LOOP;
找到问题了。变量名字写错了