Вызов функции Oracle в муле 4 - PullRequest
0 голосов
/ 31 мая 2019

Как получить возвращаемое значение из функции Oracle с именованными параметрами?

Я использую

<db:stored-procedure doc:name="Stored procedure" doc:id="607a27d0-0738-406b-900d-9490e3026c9a" config-ref="Database_Config">
        <db:sql >:result = call ib_gate.Listen_New(:i_Command,:i_Client_Id,:i_Params,:o_Err_Code,:o_Err_Msg)</db:sql>   
        <db:input-parameters ><![CDATA[#[{'i_Command' : 'GET_DATA','i_Client_Id' : -1,'i_Params' : 'ID:386075'}]]]>
        </db:input-parameters>
        <db:output-parameters>
            <db:output-parameter key="result" type="VARCHAR"/>
            <db:output-parameter key="o_Err_Code" type="VARCHAR"/>
            <db:output-parameter key="o_Err_Msg" type="VARCHAR"/>
        </db:output-parameters>
</db:stored-procedure>

, но это возвращает ошибку ORA-00900: недопустимый оператор SQL

1 Ответ

0 голосов
/ 31 мая 2019

Здесь необходимо было использовать скобки ({}):

<db:sql>{:result = call ib_gate.Listen_New(:i_Command,:i_Client_Id,:i_Params,:o_Err_Code,:o_Err_Msg)}</db:sql>
...