These match the provided script pack. Run 00_setup_schema.sql as a privileged user, then connect as SOFT_JSON.
CREATE TABLE order_docs (
order_id NUMBER PRIMARY KEY,
customer_id NUMBER NOT NULL,
created_at DATE DEFAULT SYSDATE NOT NULL,
doc JSON NOT NULL
);
INSERT INTO order_docs(order_id, customer_id, doc)
VALUES (50000, 1000, JSON('{"orderNumber":"ORD-50000","items":[{"sku":"SKU-1","qty":1,"unitPrice":10.0}]}'));
SELECT o.order_id, jt.sku, jt.qty, jt.unit_price
FROM order_docs o
CROSS JOIN JSON_TABLE(
o.doc,
'$.items[*]'
COLUMNS (
sku VARCHAR2(40) PATH '$.sku',
qty NUMBER PATH '$.qty',
unit_price NUMBER PATH '$.unitPrice'
)
) jt;
UPDATE order_docs o
SET o.doc = JSON_TRANSFORM(
o.doc,
SET '$.attributes.priority' = true,
SET '$.attributes.updatedBy' = 'training'
)
WHERE JSON_EXISTS(o.doc, '$?(@.channel == "MOBILE")');