:: Не фоксом единым
Undeclared variable (MySQL)
Зингер
Автор

Сообщений: 541
Откуда: Белгород
Дата регистрации: 02.12.2008
Пытаюсь сделать динамический запрос в ХП MySQL:
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".
Что здесь не так?



Исправлено 1 раз(а). Последнее : Зингер, 28.02.20 19:21
Ratings: 0 negative/0 positive
Re: Undeclared variable (MySQL)
Зингер
Автор

Сообщений: 541
Откуда: Белгород
Дата регистрации: 02.12.2008
Решение найдено!
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



Исправлено 1 раз(а). Последнее : Зингер, 28.02.20 19:21
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 5 (Гостей: 5)

© 2000-2024 Fox Club 
Яндекс.Метрика