我有一个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
有关根据要求的建议
答案 0 :(得分:0)
问题在于GET_RESPONSE是一个函数而不是一个过程,因此 您需要将其返回到变量中,有关详细说明,请参见https://docs.oracle.com/database/121/ARPLS/u_http.htm#ARPLS70993。
您将需要声明一个响应变量
resp UTL_HTTP.RESP;
然后您的电话来获得响应就像
resp := UTL_HTTP.GET_RESPONSE(req);