I have an API that gives me 15000 rows of data in json every 10 seconds. I use this tutorial and when I insert 5 rows or more inserting is OK, but when I insert 15000 row that get error PLS-00172: string literal too long.
My Code:
 create table jt_test (
  CUST_NUM int, SORT_ORDER int, CATEGORY varchar2(100)
);
DECLARE 
  myJSON  CLOB := '[
  {"CUST_NUM": 12345, "SORT_ORDER": 1, "CATEGORY": "ICE CREAM"},
  {"CUST_NUM": 12345, "SORT_ORDER": 2, "CATEGORY": "ICE CREAM"},
  {"CUST_NUM": 12345, "SORT_ORDER": 3, "CATEGORY": "ICE CREAM"}
]';
BEGIN
  insert into jt_test
    select * from json_table ( myjson, '$[*]'
      columns ( 
        CUST_NUM, SORT_ORDER, CATEGORY
      )
    );
END; 
Notes: I before use MSSql this link and work perfect even for 20000 rows in one query.
I use Oracle19C and connect and insert to db with cx_Oracle module python
Edit: I test this tutorial but not work.