Я новичок в использовании PL / SQL (хотя раньше у меня был опыт работы с SQL). Я пытался преобразовать определенные данные в JSON. Я проводил исследования по всему Интернету, но не мог понять, что не так в моем коде. Это произвело ошибки типа «ORA-12801» На самом деле это большой набор данных, над которым я работаю. Я хотел бы использовать только курсорный цикл, поскольку он намного проще в использовании, чем использование других библиотек. Поэтому, не могли бы вы высказать свое мнение или подумать после просмотра кода?
** ОБНОВЛЕНИЕ: я использую Toad для Oracle для данных.
** ОБНОВЛЕНИЕ 2: Я уже изучил другую ссылку, и это не решило мою проблему, потому что я не хочу использовать другие библиотеки, такие как 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