2010-04-14 146 views
-1

我是从T-SQL迁移到MySQL的句法和不知道如何克服由工作台5.1.18给出这个语法错误:语法错误与MySQL Workbench和IF语句

-- -------------------------------------------------------------------------------- 
-- Routine DDL 
-- -------------------------------------------------------------------------------- 
DELIMITER // 

CREATE PROCEDURE `SysTicket`.`GetProductionLines` (aId INT, aActive INT, aResponsible VARCHAR(8000)) 
BEGIN 
    IF(aId > 0) THEN SELECT * FROM ProductionLine WHERE Id = @Id; 

    ELSE IF(aActive <> -1 AND aResponsible = '|$EMPTYARG$|') THEN SELECT * FROM ProductionLine; 

    ELSE IF(aResponsible = '|$EMPTYARG&|') THEN SELECT * FROM ProductionLine WHERE Active = aActive; 

    ELSE SELECT * FROM ProductionLine WHERE Active = aActive AND Responsible LIKE CONCAT('%', aResponsible, '%'); 

    END IF;  
END// 

它说语法错误提前近END(最后一行) ty。

回答

-1

想通了...... 正确的语法是:

ELSEIF 

,而不是

ELSE IF