21.2 定数およびデータ型

パーサー・インタフェース

パーサー・インタフェースに使用される定数は次のとおりです。

subtype t_kind is binary_integer range 1 .. 8;
c_null     constant t_kind := 1;
c_true     constant t_kind := 2;
c_false    constant t_kind := 3;
c_number   constant t_kind := 4;
c_varchar2 constant t_kind := 5;
c_object   constant t_kind := 6;
c_array    constant t_kind := 7;
c_clob     constant t_kind := 8;

JSONデータ用のストレージ

JSONデータは、varchar2別索引の表に格納されます。JSON値はレコードとして格納されます。弁別子"kind"により、値がnull、true、false、数値、varchar2、CLOB、オブジェクト、配列のいずれであるか決まります。使用されるレコード・フィールドとその方法は"kind"によって異なります。次に明記されていない場合は、他のレコード・フィールドの値が定義されていません。

* c_null: -

* c_true: -

* c_false: -

* c_number: number_valueに数値が格納されています

* c_varchar2: varchar2_valueにvarchar2値が格納されています

* c_clob: clob_valueにclobが含まれます。

* c_object: object_membersにオブジェクトのメンバーの名前が格納されています

* c_array: number_valueに配列の長さが格納されています

type t_value is record (
   kind           t_kind,
   number_value   number,
   varchar2_value varchar2(32767),
   clob_value clob,
   object_members apex_t_varchar2 );
type t_values is table of t_value index by varchar2(32767);

日付のデフォルト書式

c_date_iso8601 constant varchar2(30) := 'yyyy-mm-dd"T"hh24:mi:ss"Z"';

デフォルトのJSON値の表

g_values t_values;

PARSE()のスローされるエラー

e_parse_error     exception;
pragma exception_init(e_parse_error, -20987);