0

我有一个 Fixer.io API 来获取当前货币汇率,我想在 PLSQL 中获取货币汇率。在此之前,我曾尝试在 PHP 中获得费率。现在我想在 PLSQL 中调用相同的方法来获取当前速率。我在plsql中尝试过的

declare 
 req   UTL_HTTP.REQ;
BEGIN
 req := UTL_HTTP.BEGIN_REQUEST('http://data.fixer.io/api/latest?access_key=access_key');
 UTL_HTTP.SET_HEADER(req, 'User-Agent', 'Mozilla/4.0');
 UTL_HTTP.GET_RESPONSE(req);

 dbms_output.put_line('hitting');

EXCEPTION
 WHEN UTL_HTTP.END_OF_BODY THEN
    dbms_output.put_line('exception');
END;

它不起作用并给出以下错误

GET_RESPONSE' is not a procedure or is undefined

根据需求提出建议

4

1 回答 1

0

问题是 GET_RESPONSE 是一个函数而不是一个过程,因此您需要将其返回到一个变量中,请参阅https://docs.oracle.com/database/121/ARPLS/u_http.htm#ARPLS70993以获得更详细的描述。

您将需要声明一个响应变量

resp  UTL_HTTP.RESP;

那么您获得响应的电话看起来像

resp := UTL_HTTP.GET_RESPONSE(req);
于 2018-12-11T22:43:08.180 回答