检索值在存储过程中,并用它存储过程
问题描述:
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;
答
如果允许一个过程里面,你不能使用IF内SQL,SQL中可以使用CASE,但不具有相同的能力。
建立第二个程序来处理IF /然后getData的结果
+0
我想IF只在程序内部! – sai 2010-04-20 14:59:04
你没有试过IF(@version = 1)...? – PierrOz 2010-04-20 14:52:10
是否(@ version == 1)或者(@ version = 1)?我是新手! – sai 2010-04-20 14:58:41
它是第二个:IF(@version = 1) – PierrOz 2010-04-20 15:39:16