Пытаюсь сделать в ХП динамический запрос. Из примера Код (Text): CREATE DEFINER = 'mysql'@'%' PROCEDURE my_bd.procedure_test(OUT Param1 DECIMAL(12,2)) BEGIN PREPARE stmt1 FROM 'SELECT SQRT(POW(?,2) + POW(?,2)) into Param1'; SET @a = 3; SET @b = 4; EXECUTE stmt1 USING @a, @b; DEALLOCATE PREPARE stmt1; END При выполнении вылазит ошибка "Undeclared variable: Param1". Что не так?
Решение найдено! Код (Text): CREATE DEFINER = 'mysql'@'%' PROCEDURE my_bd.procedure_test(OUT Param1 DECIMAL(12,2)) BEGIN DECLARE result decimal(12,2); PREPARE stmt1 FROM 'SELECT SQRT(POW(?,2) + POW(?,2)) as sqrt into @result'; SET @a = 3; SET @b = 4; EXECUTE stmt1 USING @a, @b; DEALLOCATE PREPARE stmt1; SELECT @result INTO Param1; END