21.40 WRITEプロシージャのシグネチャ7

このプロシージャは、カーソルが戻す行がすべて格納された配列を書き込みます。各行は別個のオブジェクトです。問合せにオブジェクト・タイプ、コレクションまたはカーソルの列が含まれる場合、プロシージャではwrite(xmltype)を使用してJSONを生成します。 それ以外の場合は、DBMS_SQLを使用して行をフェッチし、該当する列データ型の write()プロシージャを出力に使用します。 列の型がvarchar2で、大文字の値が'TRUE'または'FALSE'である場合、ブール値を生成します。

構文

APEX_JSON.WRITE (
    p_cursor      IN OUT NOCOPY sys_refcursor );

パラメータ

表21-49 WRITEプロシージャのパラメータ

パラメータ 説明

p_cursor

カーソル。

例1

この例では、部門10および20のJSONオブジェクトが格納されている配列を書き込みます。

DECLARE
    c sys_refcursor;
BEGIN
    open c for select deptno, dname, loc from dept where deptno in (10, 20);
    apex_json.write(c);
END;

出力は次のとおりです。

[ { "DEPTNO":10 ,"DNAME":"ACCOUNTING" ,"LOC":"NEW YORK" }
, { "DEPTNO":20 ,"DNAME":"RESEARCH" ,"LOC":"DALLAS" } ]