Хранимая процедура MySQL - проблема с выводом значений

0
DROP PROCEDURE `uuu`//

CREATE DEFINER=`auth_tracker`@`%` PROCEDURE `uuu`()
BEGIN

DECLARE a,b CHAR(50);
DECLARE _output TEXT DEFAULT '';

DECLARE cur1 CURSOR FOR SELECT attribute_name, value
   FROM user_product_attribute upa, product_attribute pa
  WHERE upa.user_product_id IN

    (  SELECT upa.user_product_id
         FROM user_product_attribute upa, user_product up, product_attribute pa, product p
        WHERE pa.attribute_name = 'username'
          AND pa.product_attribute_id = upa.product_attribute_id
          AND pa.product_id = p.product_id
          AND up.status = 'active'
          AND p.product_name = 'broadband'
          AND upa.value = 'lsolway-dsl' )

    AND upa.product_attribute_id = pa.product_attribute_id;

OPEN cur1;

read_loop: LOOP
  FETCH cur1 INTO a, b;
  SET _output = CONCAT(_output,a,b);
END LOOP;

SELECT _output;

END//

Привет, ребята, я пытаюсь заставить SP установить следующий вывод. Я не могу видеть, где я иду не так. Ничего не возвращается. Сам запрос работает отлично автономно.

Теги:
stored-procedures

3 ответа

0
Лучший ответ

Подзапрос - причина. Я использую только один курсор для запроса, который потребует два. Im даже не уверен, что подзапросы возможны в SP..

0

Вы не определяете параметры параметров, насколько я могу судить. Это затруднит получение данных из хранимой процедуры SQL.

0

DECLARE параметр OUT и введите значение в значение для вывода.

Также одно предложение, всегда полезно использовать @для ваших локальных переменных в хранимых процедурах. таких как @_output, @a и @b.

  • 0
    ОШИБКА 1313 (42000): ВОЗВРАТ разрешен только в ФУНКЦИИ Я добавил возврат, но он вернулся с вышеуказанной ошибкой
  • 0
    Отредактировал мой ответ. Не заметил MySQL. Для Mysql вам нужны выходные параметры
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню