我是使用PL / SQL的新手(尽管我以前有一些SQL经验)。我一直在尝试将特定数据转换为JSON。我在整个Internet上进行了研究,但无法弄清楚代码中的错误。它确实产生了诸如“ ORA-12801”的错误。这实际上是我正在处理的大型数据集。我只想使用游标循环,因为它比使用其他库更容易使用。因此,您可以在查看代码后提出意见或想法? **更新:我正在使用Toad for Oracle来存储数据。 ** UPDATE2:我已经研究了另一个链接,但是由于我不希望使用其他库(例如PL / JSON),因此无法解决我的问题。相反,我想在PL / SQL中使用简单的游标语句将表的列仅转换为JSON。
DECLARE
links varchar2(750);
CURSOR statement
IS
SELECT DISTINCT NAME, GROUP
FROM ST.PEOPLE
GROUP BY ST.PEOPLE.NAME, ST.PEOPLE.GROUP
ORDER BY ST.PEOPLE.NAME ASC;
BEGIN
FOR line IN statement
LOOP
links := '{"source":"'|| line.NAME ||'", "target":"'|| line.GROUP||'""}';
END LOOP;
dbms_output.put_line(links);
END;
失败:
ORA-12801: error signaled in parallel query server P045
ORA-12853: insufficient memory for PX buffers: current 16352K, max needed 702720K
ORA-04031: unable to allocate 65560 bytes of shared memory (“large pool”, “unknown object”, “large pool”, “PX msg pool”)
ORA-06512: at line 17
答案 0 :(得分:0)
我使用数据库的按钮之一打开了“ DBMS输出”上的输出以执行代码,从而解决了问题。