Запрос в mysql Stored Proc ложно возвращает ноль - PullRequest
1 голос
/ 20 декабря 2011

Я пытаюсь установить список переменных, используя инструкцию SELECT - INTO, однако я сталкиваюсь с некоторыми проблемами с запросом, возвращающим нулевые данные, когда он должен найти строку.Действительно странная часть: если я выберу определенный столбец, он будет работать, но он не будет работать ни с одним другим.Чтобы выделить проблему по одному, я упростил запрос.Вот что я пытаюсь выполнить:

SELECT Product_1 INTO @Product_1
FROM STG_XREF_ELS_PRODUCTS
WHERE MarketName = @ThisMarketName
LIMIT 1;

Этот оператор не работает, однако, если я ввожу тот же самый точный запрос, но выбираю другое поле, он работает нормально ...

SELECT MarketName INTO @Product_1
FROM STG_XREF_ELS_PRODUCTS
WHERE MarketName = @ThisMarketName
LIMIT 1;

В частности, я проверил, чтобы убедиться, что это не тот случай, когда Product_1 фактически равен нулю, в моей таблице внешних ссылок нет экземпляра, в котором Product_1 равен нулю.Кроме того, если я просто выберу Product_1 из таблицы с пределом 1 и предложением no where, я все равно получу нулевой результат.

Я также попытался использовать:

set @Product1 = (select Product_1 
                 FROM STG_XREF_ELS_PRODUCTS 
                 WHERE MarketName = @ThisMarketName);

Спасибо взаранее за вашу помощь!

PS

1 Ответ

0 голосов
/ 12 января 2012

Попробуйте изменить имя переменной так:

ВЫБЕРИТЕ Product_1 INTO @Product_variable FROM STG_XREF_ELS_PRODUCTS ГДЕ MarketName = @ThisMarketName LIMIT 1;

...