我有一个如下的json数组字符串
[{a:100},{a:200},{a:300},{a:400}]
将其作为CLOB输入参数传递给存储过程
如何在sql中获得如下表格格式的输出,以便可以批量插入表中
Value
-----------
100
200
300
400
我已经尝试了oracle docs中提到的一些示例,但是找不到上述输出的有效示例。
谢谢
答案 0 :(得分:1)
使用JSON_TABLE
:
Oracle设置:
CREATE TABLE destination ( a NUMBER );
PL / SQL :
DECLARE
your_input_parameter CLOB := '[{a:100},{a:200},{a:300},{a:400}]';
BEGIN
INSERT INTO destination ( a )
SELECT a
FROM JSON_TABLE(
your_input_parameter,
'$[*]'
COLUMNS a NUMBER PATH '$.a'
);
END;
/
输出:
SELECT * FROM destination;
| A | | --: | | 100 | | 200 | | 300 | | 400 |
db <>提琴here