sql >> データベース >  >> RDS >> Oracle

オラクルでjsonを使用する

    私はこのライブラリを使い始めましたが、有望なようです:https://github.com/pljson/pljson

    インストールが簡単で、例が良いです。

    例でライブラリを使用するには、これらの変数をプロシージャに追加します。

    mapData     json;
    results     json_list;
    status      json_value;
    firstResult json;
    geometry    json;
    

    ....

    次に、応答をjsonオブジェクトとして操作できます。

    -- convert the result from the get to a json object, and show some results.
    mapData := json(v_ans);
    
    -- Show the status of the request
    status := mapData.get('status');
    dbms_output.put_line('Status = ' || status.get_string());
    
    IF (status.get_string() = 'OK') THEN
      results := json_list(mapData.get('results'));
      -- Grab the first item in the list
      resultObject := json(results.head);
    
      -- Show the human readable address 
      dbms_output.put_line('Address = ' || resultObject.get('formatted_address').to_char() );
      -- Show the json location data 
      dbms_output.put_line('Location = ' || resultObject.get('geometry').to_char() );
    END IF;
    

    このコードを実行すると、これがdbms出力に出力されます:

    Status = OK
    Address = "St Paul, MN 55105, USA"
    Location = {
      "bounds" : {
        "northeast" : {
          "lat" : 44.9483849,
          "lng" : -93.1261959
        },
        "southwest" : {
          "lat" : 44.9223829,
          "lng" : -93.200307
        }
      },
      "location" : {
        "lat" : 44.9330076,
        "lng" : -93.16290629999999
      },
      "location_type" : "APPROXIMATE",
      "viewport" : {
        "northeast" : {
          "lat" : 44.9483849,
          "lng" : -93.1261959
        },
        "southwest" : {
          "lat" : 44.9223829,
          "lng" : -93.200307
        }
      }
    }
    


    1. SQLDeveloperに新しい接続を追加するときにOracleTNS名が表示されない

    2. MySQLストアドプロシージャはそれらを使用するか使用しないか

    3. 複数のクエリが同じテーブルにありますが、列が異なりますmysql

    4. 複数のINSERTステートメントと複数の値を持つ単一のINSERT