Получить значение внутри хранимой процедуры и использовать его внутри этой хранимой процедуры. - PullRequest
0 голосов
/ 20 апреля 2010
delimiter //
CREATE DEFINER=root@localhost PROCEDUREgetData(IN templateName VARCHAR(45),IN templateVersion VARCHAR(45),IN userId VARCHAR(45))
BEGIN
set @version = CONCAT("SELECT saveOEMsData_answersVersion FROMsaveOEMsData WHERE saveOEMsData_templateName = '",templateName,"' ANDsaveOEMsData_templateVersion = ",templateVersion," AND saveOEMsData_userId= ",userId);
PREPARE s1 from @version;
EXECUTE S1;
END // delimiter ;

Я получаю saveOEMsData_answersVersion, но я должен использовать его в цикле IF, как если бы версия == 1, тогда я использовал бы запрос, иначе я бы использовал что-то еще. Но я не могу использовать версию. Может ли кто-нибудь помочь с этим ?? Я могу печатать только, но не могу использовать версию для манипулирования данными. Процедура работает нормально, но я не могу перейти к следующему шагу, который является условием if.

Условие if будет иметь что-то похожее на приведенное ниже.

IF(ver == 1) THEN SELECT "1";
END IF;

1 Ответ

0 голосов
/ 20 апреля 2010

IF разрешен внутри процедуры, вы не можете использовать IF внутри SQL, в SQL вы можете использовать CASE, но у него нет тех же возможностей.

Создайте вторую процедуру для обработки IF / Тогда для результатов getData

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...