首页 > 解决方案 > pl/sql 函数返回错误

问题描述

函数总是返回 0,不管我会选择什么数字

create or replace function FNC_PRICE_AVE_BUY(PRICE_AVE in number)
    return number
    is
    V_AVE number(6,2);
begin
    select NVL((avg(AMOUNT_PRICE_BUY)),0) into V_AVE from BUYER
    where AMOUNT_PRICE_BUY = PRICE_AVE;
    return V_AVE;
end FNC_PRICE_AVE_BUY;
/
set serveroutput on;
select FNC_PRICE_AVEC_BUY(31) as Average_price_321 from dual;

标签: sqloracleplsqlreturn-value

解决方案


根据您问题下方的评论#2,我认为这是您想要的逻辑:

创建一个返回买家平均价格的函数。

该参数应为买家 ID。

返回值是该买家的平均价格。

create or replace function FNC_PRICE_AVE_BUY(BUYER_ID in number)
    return number
    is
    V_AVE number(6,2);
begin
    select NVL((avg(AMOUNT_PRICE_BUY)),0) into V_AVE from BUYER
    where ID = BUYER_ID;
    return V_AVE;
end FNC_PRICE_AVE_BUY;

推荐阅读