注册

包中,使用forloop嵌套jsontable报错无效数组

DM_833153 2023/09/12 573 1

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【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;	
回答 0
暂无回答
扫一扫
联系客服