set long 1000000 pagesize 100
column json_schema format a80
select json_serialize(
dbms_json_schema.describe(
object_name => 'T1',
owner_name => 'TESTUSER1')
pretty) as json_schema;
JSON_SCHEMA
--------------------------------------------------------------------------------
{
"title" : "T1",
"dbObject" : "TESTUSER1.T1",
"type" : "object",
"dbObjectType" : "table",
"properties" :
{
"ID" :
{
"extendedType" : "number"
},
"VALID" :
{
"extendedType" :
[
"null",
"string"
],
"maxLength" : 1,
"allOf" :
[
{
"enum" :
[
"Y",
"N"
]
}
]
}
},
"required" :
[
"ID"
],
"dbPrimaryKey" :
[
"ID"
]
}
SQL>
set long 1000000 pagesize 100
column json_schema format a80
select json_serialize(
dbms_json_schema.describe(
object_name => 'T1',
owner_name => 'TESTUSER1',
column_name => 'VALID')
pretty) as json_schema;
JSON_SCHEMA
--------------------------------------------------------------------------------
{
"dbColumn" : "VALID",
"extendedType" :
[
"null",
"string"
],
"maxLength" : 1,
"allOf" :
[
{
"enum" :
[
"Y",
"N"
]
}
]
}
SQL>
set long 1000000 pagesize 100
column json_schema format a80
select json_serialize(
dbms_json_schema.describe(
object_name => 'T2',
owner_name => 'TESTUSER1')
pretty) as json_schema;
JSON_SCHEMA
--------------------------------------------------------------------------------
{
"title" : "T2",
"dbObject" : "TESTUSER1.T2",
"type" : "object",
"dbObjectType" : "table",
"properties" :
{
"ID" :
{
"extendedType" : "number"
},
"JSON_DATA" :
{
"allOf" :
[
{
"type" : "object",
"properties" :
{
"fruit" :
{
"type" : "string",
"minLength" : 1,
"maxLength" : 10
},
"quantity" :
{
"type" : "number",
"minimum" : 0,
"maximum" : 100
}
},
"required" :
[
"fruit",
"quantity"
]
}
]
}
},
"required" :
[
"ID"
],
"dbPrimaryKey" :
[
"ID"
]
}
SQL>
set long 1000000 pagesize 100
column json_schema format a80
select json_serialize(
dbms_json_schema.describe(
object_name => 'T2',
owner_name => 'TESTUSER1',
column_name => 'JSON_DATA')
pretty) as json_schema;
JSON_SCHEMA
--------------------------------------------------------------------------------
{
"dbColumn" : "JSON_DATA",
"allOf" :
[
{
"type" : "object",
"properties" :
{
"fruit" :
{
"type" : "string",
"minLength" : 1,
"maxLength" : 10
},
"quantity" :
{
"type" : "number",
"minimum" : 0,
"maximum" : 100
}
},
"required" :
[
"fruit",
"quantity"
]
}
]
}
SQL>
set long 1000000 pagesize 200
column json_schema format a80
select json_serialize(
dbms_json_schema.describe(
object_name => 'DEPARTMENT_DV',
owner_name => 'TESTUSER1')
pretty) as json_schema;
JSON_SCHEMA
--------------------------------------------------------------------------------
{
"title" : "DEPARTMENT_DV",
"dbObject" : "TESTUSER1.DEPARTMENT_DV",
"dbObjectType" : "dualityView",
"dbObjectProperties" :
[
"insertable",
"updatable",
"deletable",
"check"
],
"type" : "object",
"properties" :
{
"_metadata" :
{
"etag" :
{
"extendedType" : "string",
"maxLength" : 200
},
"asof" :
{
"extendedType" : "string",
"maxLength" : 20
}
},
"location" :
{
"extendedType" :
[
"string",
"null"
],
"maxLength" : 13,
"dbAnnotations" :
[
"update",
"check"
]
},
"departmentName" :
{
"extendedType" :
[
"string",
"null"
],
"maxLength" : 14,
"dbAnnotations" :
[
"update",
"check"
]
},
"departmentNumber" :
{
"extendedType" : "number",
"sqlPrecision" : 2,
"sqlScale" : 0,
"dbAnnotations" :
[
"check"
]
},
"employees" :
{
"type" : "array",
"items" :
{
"type" : "object",
"properties" :
{
"job" :
{
"extendedType" :
[
"string",
"null"
],
"maxLength" : 9,
"dbAnnotations" :
[
"update",
"check"
]
},
"salary" :
{
"extendedType" :
[
"number",
"null"
],
"sqlPrecision" : 7,
"sqlScale" : 2,
"dbAnnotations" :
[
"update",
"check"
]
},
"employeeNumber" :
{
"extendedType" : "number",
"sqlPrecision" : 4,
"sqlScale" : 0,
"dbAnnotations" :
[
"check"
]
},
"employeeName" :
{
"extendedType" :
[
"string",
"null"
],
"maxLength" : 10,
"dbAnnotations" :
[
"update",
"check"
]
}
},
"required" :
[
"employeeNumber"
]
}
}
},
"required" :
[
"departmentNumber"
]
}
SQL>