Я написал две функции. Первый использовал запрос на выборку и возвращает значение. В то время как моя вторая функция использует возвращенное значение из первой функции в качестве входных данных и после определенной операции должна возвращать свое собственное значение. Я получаю сообщение «ОК», но ничего не получаю
DELIMITER //
DROP FUNCTION IF EXISTS walkerCubicAreaWeight;
CREATE FUNCTION walkerCubicAreaWeight (WType1 CHAR(5))
RETURNS DECIMAL(5,2)
BEGIN
DECLARE Cubic_Area_Weight FLOAT;
SELECT Weight INTO @A FROM imperial_walker_type WHERE WType = WType1;
SELECT Height INTO @B FROM imperial_walker_type WHERE WType = WType1;
SELECT Length INTO @C FROM imperial_walker_type WHERE WType = WType1;
SELECT Width INTO @D FROM imperial_walker_type WHERE WType = WType1;
SET Cubic_Area_Weight = @A/(@B*@C*@D) ;
RETURN Cubic_Area_Weight;
END //
DELIMITER ;
Функция 2
DELIMITER //
DROP FUNCTION IF EXISTS walkerFuelCapacity;
CREATE FUNCTION walkerFuelCapacity (WType1 varCHAR(20))
RETURNS DECIMAL(10,2)
BEGIN
DECLARE Walker_Fuel_Capacity FLOAT;
SELECT OpRange INTO @E FROM imperial_walker_type WHERE WType = WType1;
SET Walker_Fuel_Capacity = walkerCubicAreaWeight(WType1) *@E ;
RETURN Walker_Fuel_Capacity;
END //
DELIMITER ;
Моя первая функция возвращает значение 0,40. Во второй функции она должна использовать 0,40 и умножить ее на oprange (в данном случае это 720) и должна вернуть 288. Однако я получаю сообщение ОК, а значение
отсутствует.