# F_GET_COSTO_ARTICOLO ## Codice Sorgente ```sql function f_get_costo_articolo(p_cod_articolo varchar2, p_date date) return number as v_costo number := null; begin -- Cerco il costo alla data begin SELECT a.costo_uni into v_costo FROM COSTI_ARTICOLI a where a.data_costo = p_date and a.cod_articolo = p_cod_articolo; exception when no_data_found then v_costo := null; end; -- Se non lo trovo prendo l'ultimo costo begin SELECT a.costo_uni into v_costo FROM COSTI_ARTICOLI a WHERE a.DATA_COSTO = (SELECT max(b.DATA_COSTO) FROM COSTI_ARTICOLI b where b.cod_articolo = a.cod_articolo) and a.cod_articolo = p_cod_articolo; exception when no_data_found then v_costo := null; end; -- se non trovo niente torno 0 return nvl(v_costo, 0); end; ```