Analyser JSON dans la table Oracle à l'aide de PL / SQL

J'ai créé le script suivant pour lire des données à partir de l'Application Mobile DB (qui est basé sur MongoDB) de Oracle SQL Developer:

DÉCLARER 
l_param_list VARCHAR2(512); 

l_http_request UTL_HTTP.req; 
l_http_response UTL_HTTP.reee; 

l_response_text VARCHAR2(32767); 
COMMENCER 

-- service les paramètres d'entrée de 

-- la préparation de la Demande... 
l_http_request := UTL_HTTP.begin_request ('https://api.appery.io/rest/1/db/collections/Photos?where=%7B%22Oracle_Flag%22%3A%22Y%22%7D' 
'GET' 
'HTTP/1.1'); 

- de définir l'en-tête des attributs 
UTL_HTTP.set_header(l_http_request, 'X-Appery-Base de données-Id', '53f2dac5e4b02cca64021dbe'); 
--UTL_HTTP.set_header(l_http_request, 'Content-Length', LONGUEUR(l_param_list)); 

- de définir les paramètres d'entrée 
-- UTL_HTTP.write_text(l_http_request, l_param_list); 

-- obtenir de Réponse et d'obtenir la valeur reçue 
l_http_response := UTL_HTTP.get_response(l_http_request); 

UTL_HTTP.read_text(l_http_response, l_response_text); 

DBMS_OUTPUT.put_line(l_response_text); 
insérez dans appery valeurs(l_response_text); 
-- finalisation 
UTL_HTTP.end_response(l_http_response); 


EXCEPTION 
LORSQUE UTL_HTTP.end_of_body 
PUIS UTL_HTTP.end_response(l_http_response); 
FIN; 
/

La réponse (l_response_text) est un JSON comme chaîne de caractères. Par exemple:

[{"Code postal":"47100","OutletCode":"128039251","MobileNumber":"0123071303","_createdAt":"2014-11-10 06:12:49.837","_updatedAt":"2014-11-10 06:12:49.837"}, {"code Postal":"32100","OutletCode":"118034251", ..... ]

Le code fonctionne très bien, et les insertions de la réponse dans une colonne de table appelé appery. Cependant, j'ai besoin d'analyser cette réponse, de sorte que chaque tableau va dans sa colonne spécifique dans une table appelée appery_test. Le tableau appery_test a un nombre de colonnes égal au nombre de JSON paires et dans le même ordre.

J'ai cherché et j'ai trouvé la plupart des résultats sur l'analyse Oracle de table en JSON et non l'inverse. J'ai trouvé, cependant, cette lien qui est assez similaire à mon problème. Cependant, la bibliothèque, la réponse n'est pas un exemple sur la façon de l'utiliser pour insérer JSON dans les classiques de la table à l'aide de PL/SQL.

N. B.: je suis en utilisant 11g et pas 12c. Ainsi, le construit en fonctions ne sont pas disponibles pour moi.

source d'informationauteur Hawk