PL/SQL 转换为 JSON

PL/SQL Convert to JSON

我是 PL/SQL 的新手(尽管我之前有一些 SQL 经验)。我一直在尝试将特定数据转换为 JSON。我在整个 Internet 上进行了研究,但无法弄清楚我的代码出了什么问题。它确实产生了诸如 "ORA-12801" 之类的错误。这实际上是我正在处理的一个大型数据集。我只想按原样使用游标循环,因为它比使用其他库更容易使用。因此,您能否在看完代码后提供意见或想法? **更新:我正在使用 Toad for Oracle 获取数据。 **UPDATE2:我已经查看了其他 link,但这并没有解决我的问题,因为我不想使用其他库,例如 PL/JSON。相反,我想在 PL/SQL 中使用一个简单的游标语句将 table 的列仅转换为 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

我解决了我的问题,方法是使用数据库的一个按钮打开 "DBMS Output" 上的输出以执行代码并且它起作用了。