DROP FUNCTION public.fnc_busca_saldo(integer, integer, integer); DROP FUNCTION public.fnc_busca_saldo(integer, integer, integer, integer); CREATE FUNCTION public.fnc_busca_saldo( var_filial_stq integer, var_filial_pro integer, var_produto integer, var_almoxarifado integer default 1, var_lote integer default null) RETURNS numeric LANGUAGE 'plpgsql' COST 100 VOLATILE PARALLEL UNSAFE AS $BODY$ DECLARE quant numeric; BEGIN IF var_lote IS NOT NULL THEN SELECT SUM(quantidade) INTO quant FROM stq_saldo_estoque_atual WHERE filial_stq = var_filial_stq AND almoxarifado = var_almoxarifado AND filial_pro = var_filial_pro AND produto = var_produto AND sequencia_lote = var_lote; RETURN quant; ELSE SELECT SUM(quantidade) INTO quant FROM stq_saldo_estoque_atual WHERE filial_stq = var_filial_stq AND almoxarifado = var_almoxarifado AND filial_pro = var_filial_pro AND produto = var_produto; RETURN quant; END IF; END; $BODY$; ALTER FUNCTION public.fnc_busca_saldo(integer, integer, integer, integer, integer) OWNER TO postgres;