I am executing following query:
tbl_clob consist data [{"ID":2,"FINACIAL_YEAR":"2020"}].
WITH JSON AS
(
SELECT DATA
FROM tbl_clob
WHERE ldap_id = 'S'
AND ROLE_ID = 3
AND ROWNUM =1
)
SELECT ADJUSTMENT_ID,FINACIAL_YEAR
FROM JSON_TABLE
(
(SELECT DATA FROM JSON),'$[*]'
COLUMNS(
ID NUMBER PATH '$.ID',
FINACIAL_YEAR VARCHAR2(50) PATH '$.FINACIAL_YEAR'
)) jt;
It gives me error
ORA-00933: SQL command not properly ended
- 00000 - "SQL command not properly ended"
*Cause:
*Action:
Error at Line: 11 Column: 1
I also tried some of the online examples
WITH json AS
(SELECT '[{
"id" : "101",
"name" : "Peter Parker",
"skills" : "web spinning, wall scaling"
}]' data
FROM DUAL)
SELECT id
, name
, skills
FROM json, JSON_TABLE(json.data, '$[*]'
COLUMNS (
id NUMBER PATH '$.id'
, name VARCHAR2(20) PATH '$.name'
, skills VARCHAR2(30) PATH '$.skills'
));
It gives me same error. Is there something do I need to install in Oracle to fix this issue?
What version of ORACLE-DB are you using?
The first statement will work with small changes:
WITH d_JSON AS
(
SELECT '[{"ID":2,"FINACIAL_YEAR":"2020"}]' my_DATA
from dual
)
SELECT ADJUSTMENT_ID,FINACIAL_YEAR
FROM d_JSON,JSON_TABLE
(my_DATA,'$[*]'
COLUMNS(
ADJUSTMENT_ID NUMBER PATH '$.ID',
FINACIAL_YEAR VARCHAR2(50) PATH '$.FINACIAL_YEAR'
)) jt;
Second is working out of the box. So it seems you use 11.X or below.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.