我是 ORDS 的新手。我正在使用 APEX_JSON 为源类型为 PL/SQL 的其他服务之一创建一个 json 对象。我正在创建的 json 对象很复杂。如果在创建 json 对象时有任何事情失败,那么我必须返回一个错误,该错误在正文中具有不同的 json 结构。因此,在为错误创建主体之前,我想清除到目前为止我创建的 json。我怎样才能做到这一点。或者有没有其他方法可以实现这一点。
PROCEDURE GETNODES(I_LOCATION IN NUMBER)
V_STATUS NUMBER;
BEGIN
APEX_JSON.OPEN_OBJECT;
APEX_JSON.OPEN_ARRAY('NODES');
FOR nodes in (select NAME FROM NODES where location = I_LOCATION) LOOP
APEX_JSON.OPEN_OBJECT;
APEX_JSON.write('NAME',nodes.name);
V_STATUS := getnodestatus(nodes.name); --This can throw an exception
APEX_JSON.write('STATUS',V_STATUS);
APEX_JSON.CLOSE_OBJECT;
END LOOP;
APEX_JSON.CLOSE_ARRAY;
APEX_JSON.CLOSE_OBJECT;
EXCEPTION WHEN OTHERS THEN
--IF I get any error, then I have to write a different json, so I have to clear the json written till now, …Run Code Online (Sandbox Code Playgroud)