2010-04-20 120 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裏面,但我有在IF循環使用它,如如果版本== 1,那麼我會用一個查詢,否則我會使用別的東西。但我無法使用該版本。有人可以幫忙嗎?我只能打印,但無法使用該版本進行數據操作。該過程正常工作,但我無法繼續下一步,這是條件。檢索值在存儲過程中,並用它存儲過程

如果條件會像下面提到的那樣。

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

你沒有試過IF(@version = 1)...? – PierrOz 2010-04-20 14:52:10

+0

是否(@ version == 1)或者(@ version = 1)?我是新手! – sai 2010-04-20 14:58:41

+0

它是第二個:IF(@version = 1) – PierrOz 2010-04-20 15:39:16

回答

-1

如果允許一個過程裏面,你不能使用IF內SQL,SQL中可以使用CASE,但不具有相同的能力。

建立第二個程序來處理IF /然後getData的結果

+0

我想IF只在程序內部! – sai 2010-04-20 14:59:04