sql解析json oracle,oracle 11g plsql解析json数据示例1

本文介绍了一个Oracle存储过程,该过程解析存储在CLOB字段中的JSON数据,用于生成发货订单。它从XQ_MIDSO表中选取需要生成订单的记录,通过json_ext函数获取并处理JSON数据,包括订单头信息如订单编码、客户名称和配送地址,以及订单明细的条码、数量等,然后调用相关存储过程完成订单创建和明细插入。
摘要由CSDN通过智能技术生成

以下存储过程将数据库表中的clob类型字段(存储的内容为对应Json格式数据)读取出来,对其解析,进行相关业务操作

CREATE OR REPLACE PROCEDURE xq_midso_gen(p_id IN NUMBER) AS

----------------------------------------------------------

--author:xy

--date:20180627

--description:

/*

FOR (查询实际表[订单接口 XQ_MIDSO]中的[是否生成订单]为Y的记录) LOOP

根据接口信息的json信息生成未提交的发货订单。

生成发货订单头表:

单据日期取SYSDATE。

订单类型取新货订单。

发货店仓取总部店仓。

收货店仓取接口中的customer_name对应的经销商下的任一店仓(根据名称匹配)。

鲜桥订单编码取接口中的ordercode。

备注:由鲜桥接口自动生成!

调用存储过程:B_SO_AC。

生成发货订单明细:

条码、款号、ASI取接口中的product_name对应条码的值。

数量取接口中的amount。

调用存储过程:B_SOITEM_ACM。

调用存储过程:B_SO_AM。

END LOOP;

*/

/*

*/

----------------------------------------------------------

v_injson json; --用于将接口信息转换为json格式

v_b_so_id b_so.id%TYPE; --要使用的发货订单ID

v_b_so_docno b_so.docno%TYPE; --发货订单据编号

v_table_id ad_table.id%TYPE; --发货订单m_agtpur表的id

v_ordercode b_so.xq_ordercode%TYPE; --发货订单鲜桥订单编码

v_c_store_id c_store.id%TYPE; --总部店仓ID

v_customer_name c_customer.name%TYPE; --订单头信息中的经销商名称

v_cc_store_id c_store.id%TYPE; --经销商下任一id

v_delivery_time VARCHAR2(20); --配送时间(发货日期)

v_delivery_time1 NUMBER(8); --配送时间(发货日期)

v_delivery_address b_so.dest_address%TYPE; --收货地址

v_amount b_soitem.qty%TYPE; --数量

v_bodylist json_list; --订单明细信息列表

v_onejson json; --用于解析每一个明细数据

v_m_product_id m_

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值