IBM DB / 2 i - SQL ВЫБРАТЬ JSON_VAL ОТ Json_Table " - PullRequest
0 голосов
/ 01 февраля 2019

Я пытаюсь проработать пример использования «SQL SELECT JSON_VAL FROM Json_Table» для получения данных из удаленного веб-сервиса.Я продолжаю получать сообщения об одной и той же ошибке ...

Положение 17 В предложении INTO отсутствует встроенный оператор.

Кто-нибудь может мне помочь?IBM i (as / 400) DB / 2 OS / V7R3M0

спасибо!

// JSON_TABLE : used to extract values from that JSON object into relational data.   
// '$' :  used as the outermost SQL/JSON path expression,                            
//        the column definitions will use the existing JSON object                   
//        as their context item. Because '$' only references one item in the         
//        object, this use of JSON_TABLE will only produce one row.                  
//        After the outermost SQL/JSON path expression, the columns are defined.     


     D myString     s           5500a    

      Exec SQL SELECT JSON_VAL FROM Json_Table(                            
      Systools.HttpPostClob(                                               
        'http://10.10.10.10:8099/dir/dir/pgm',              
        '<httpHeader>' +                                                   
        '<header name="Content-Type" value="application/json"/>' +         
        '</httpHeader>',  :myString       
        // '</httpHeader>' INTO :myString    << NO   
        // '</httpHeader>') INTO :myString    << NO
       ), '$' COLUMNS(JSON_VAL VARCHAR(1000) PATH '$.json')) as x ;        


       ParmOut = myString;

1 Ответ

0 голосов
/ 01 февраля 2019

Синтаксис SELECT INTO выглядит следующим образом:

exec sql
  select ...
    into ...
    from ...

Так попробуйте это:

exec sql
  select json_val
    into :mystring
    from json_table(
      systools.HttpPostClob(
        'http://10.10.10.10:8099/dir/dir/pgm',              
        '<httpHeader>' +                                                   
        '<header name="Content-Type" value="application/json"/>' +         
        '</httpHeader>'
      ), '$' COLUMNS(JSON_VAL VARCHAR(1000) PATH '$.json')) as x ;

Проблема в том, что я не могу найти HttpPostClob () в DB2 для iдокументация v7.3.Это может быть не то, что вы можете использовать на этой платформе без использования собственной хранимой процедуры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...