2010-04-20 4 views
0
delimiter // 
CREATE [email protected] 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, но я должен использовать его в цикле, если, как в случае, если версия == 1, то я бы использовать запрос, иначе я бы использовал что-то другое. Но я не могу использовать эту версию. Может ли кто-нибудь помочь с этим? Я могу только печатать, но не могу использовать версию для обработки данных. Процедура работает нормально, но я не могу перейти к следующему шагу, который является условием if.Получить значение внутри хранимой процедуры и использовать его внутри этой хранимой процедуры

Условие if имеет что-то вроде нижеследующего.

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

Вы не пробовали IF (@version = 1) ...? – PierrOz

+0

это если (@ версия == 1) или if (@ version = 1) ?? Я новичок! – sai

+0

это второе: IF (@version = 1) – PierrOz

ответ

-1

IF допускается внутри процедуры, вы не можете использовать IF внутри SQL в SQL вы можете использовать СЛУЧАЙ, но это не одни и те же способности.

Построить вторую процедуру для обработки IF/Тогда для результатов GetData

+0

Я хочу, чтобы IF быть внутри процедуры только! – sai

Смежные вопросы