Вам нужно использовать SELECT .. INTO
для обновления ваших переменных.
преобразовать синтаксис в CONVERT(value, type)
, и вы не можете использовать FLOAT
, поскольку тип требует использования DECIMAL
, и, вероятно, вам все равно это не нужно, потому что обапеременная уже всплыла.
DELIMITER $$
create function fp_v2.fp_splitadjprice (id char(8), startdate date)
returns float
begin
declare splitfactor float;
declare splitadjprice float;
declare spinofffactor float;
set splitfactor = 1.0;
SELECT fp_v2.fp_splitfactor_prices(id, startdate) INTO splitfactor ;
SELECT convert(p_price * splitfactor, DECIMAL (10,4) INTO splitadjprice
FROM fp_v2.fp_basic_prices p
WHERE fsym_id = id and p_date = startdate;
return splitadjprice;
END$$
DELIMITER ;