调用plsql中的fixer API获取汇率



我有一个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

需要根据要求的建议

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

您需要声明一个响应变量

resp  UTL_HTTP.RESP;

然后你的电话得到回应看起来像

resp := UTL_HTTP.GET_RESPONSE(req);

最新更新