我有一个JSON文件,正在try 插入到数据库中.

插入不起作用,不确定我是否正确地循环json

我举了一个简单的例子:

下表如下:

CREATE TABLE TEST (
  remote_claimid VARCHAR2(20) PRIMARY KEY
);

和程序:

    PROCEDURE TEST (
        p_json CLOB
    ) AS
    BEGIN
        INSERT INTO TEST (
            remote_claimid
        )
        SELECT
            remote_claimid
        FROM JSON_TABLE(
                 p_json,
                 '$.claim[*]'
                 COLUMNS(
                   remote_claimid VARCHAR2(20) PATH '$.remote_claimid'
                 )
        );
               
        COMMIT;
        exception when others then 
            log_api.fatal(log_ctx, 'ERROR INSERT_TEST');
            raise;
    END TEST;

这是JSON

{claim=[{remote_claimid=5680}, {remote_claimid=7654}]}

这就是我们的使命:

            json = '{"claim"=[{"remote_claimid"="5680"}, {"remote_claimid"="7654"}]}'
            try {
                sql.call('{call BILLING_API.TEST(?)}', [json])
                output = [SUCCESS: true, msg: "inserts added."]
                sql.commit()
            } catch(SQLException se) {
                sql.rollback()
                log.error("Exception: ${se}; Procedure: BILLING_API.TEST; Params: Clob ${responseList}")
                output = commonDBService.processException(se)
            } finally {
                sql.close()
            }

没有插入任何内容,没有错误...没什么 知道S发生了什么事吗?

谢谢!

推荐答案

对于correct个JSON,您的路径是有效的:

SELECT
    remote_claimid
        FROM JSON_TABLE(
                 q'~{"claim" : [{"remote_claimid": 5680}, {"remote_claimid" : 7654}]}~',
                 '$.claim[*]'
                 COLUMNS(
                   remote_claimid VARCHAR2(20) PATH '$.remote_claimid'
                 )
        );


5680
7654

Java相关问答推荐

JPackage-results已安装-如何添加系统属性?

@ EnableRouting注释在Kotlin项目中不工作

Oracle DUAL表上使用DDL时jOOQ问题的解析'

Jlink选项&-strie-ative-Commands";的作用是什么?

如何使用Maven和Spring Boot将构建时初始化、跟踪类初始化正确传递到本机编译

CompleteableFuture是否运行在不同的内核上?

按属性值从流中筛选出重复项

Helidon 4和Http API

如何对多个字段进行分组和排序?

如何使用Jackson将XML元素与值和属性一起封装

Javadoc在方法摘要中省略方法

如何将其他属性引用到log4j2 yaml配置中?

如何在一行中使用Dijkstra中的Java Stream

如果按钮符合某些期望,如何修改它的文本?

Android无法在Java代码中调用Kotlin代码,原因是在Companion中使用Kotlin枚举时

Eureka客户端无法使用用户/通行证注册到Eureka服务器

Java 21保护模式的穷尽性

为什么 log4j 过滤器在appender中不起作用

JAVA 正则表达式识别字符串string或字符串内的字符char

对于 Hangman 游戏,索引 0 超出长度 0 的范围