我正在尝试使用Oracle SQL创建嵌套的JSON对象。我能够创建JSON对象,其中层次结构级别是预定义的。在这种情况下,它是动态的,并且无法为该嵌套数据找到SQL或PLSQL解决方案。
我有一个表,下面的数据,
Table data
我想使用Oracle SQL或PLSQL输出如下
{
"data": [
{
"ID": 1,
"NAME": "India",
"child": [
{
"ID": 3,
"NAME": "FINANCE",
"child": [
{
"ID": 5,
"NAME": "HR"
}
]
}
]
},
{
"ID": 2,
"NAME": "Canada",
"child": [
{
"ID": 4,
"NAME": "IT"
}
]
}
]
}
字符串
有人能帮我吗?
2条答案
按热度按时间lmvvr0a81#
你可以创建一个递归函数:
字符串
其中,对于样本数据:
型
然后:
型
输出:
| JSON |
| ------------ |
| {"data":"[{"ID":1,"name":"INDIA","child":[{"ID":3,"name":"FINANCE","child":[{"ID":5,"name":"HR"}]}]},{"ID":2,"name":"CANADA","child":[{"ID":4,"name":"IT"}]}]"} |
fiddle
iezvtpos2#
没有函数:你可以创建一个视图(最外面的JSON_QUERY只是为了漂亮的打印)
https://dbfiddle.uk/XgZ_IluN
字符串