Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment embellir les résultats de requête au format JSON dans SQLcl (Oracle)

Si vous utilisez SQLcl pour interroger la base de données Oracle, vous connaissez peut-être le SET SQLFORMAT json option, qui fait revenir les résultats de la requête sous forme de documents JSON.

Mais il y a aussi un format json-formatted option, qui renvoie les résultats dans un format plus lisible par l'homme.

Exemple

Voici un exemple pour illustrer :

SET SQLFORMAT json-formatted;
SELECT * FROM regions;

Résultat :

{
  "results" : [
    {
      "columns" : [
        {
          "name" : "REGION_ID",
          "type" : "NUMBER"
        },
        {
          "name" : "REGION_NAME",
          "type" : "VARCHAR2"
        }
      ],
      "items" : [
        {
          "region_id" : 1,
          "region_name" : "Europe"
        },
        {
          "region_id" : 2,
          "region_name" : "Americas"
        },
        {
          "region_id" : 3,
          "region_name" : "Asia"
        },
        {
          "region_id" : 4,
          "region_name" : "Middle East and Africa"
        }
      ]
    }
  ]
}

À titre de comparaison, ici, il utilise le json-formatted paramètre (c'est-à-dire sans que le résultat soit embelli):

SET SQLFORMAT json;
SELECT * FROM regions;

Résultat :

{"results":[{"columns":[{"name":"REGION_ID","type":"NUMBER"},{"name":"REGION_NAME","type":"VARCHAR2"}],"items":
[
{"region_id":1,"region_name":"Europe"}
,{"region_id":2,"region_name":"Americas"}
,{"region_id":3,"region_name":"Asia"}
,{"region_id":4,"region_name":"Middle East and Africa"}
]}]}