MySQL在存储过程中调用函数时抛出错误

MySQL在存储过程中调用函数时抛出错误,mysql,stored-procedures,mysql-error-1064,Mysql,Stored Procedures,Mysql Error 1064,我的mysql存储过程有一些问题,mysql总是显示错误1064,错误mysql语法。我哪里错了 DELIMITER $$ USE `itin`$$ DROP PROCEDURE IF EXISTS `sp_Transaction`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_Transaction`(IN inpt TINYINT(4), IN inpt2 TINYINT(4)) BEGIN I

我的mysql存储过程有一些问题,mysql总是显示错误1064,错误mysql语法。我哪里错了

   DELIMITER $$

   USE `itin`$$

   DROP PROCEDURE IF EXISTS `sp_Transaction`$$

   CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_Transaction`(IN inpt TINYINT(4), IN inpt2 TINYINT(4))
   BEGIN

   IF((inpt = 0) AND (inpt2 = 0)) THEN  
   SELECT idtr_inventory, showStatus(idms_status) AS idms_status, showLocation(idms_location) AS idms_location
, showUnitType(idms_unittype) AS idms_unittype, USER, user_email
, showDepartment(idms_department) AS idms_department, asset_tag, sn, brand, model, showBBUser(bb_user) AS bbUser
, dt_purchase, warranty, dt_warranty_exp, nm_computer, ip_address, remarks
   FROM tr_inventory;

 ELSE IF(inpt = 0) THEN
 SELECT idtr_inventory, showStatus(idms_status) AS idms_status, showLocation(idms_location) AS idms_location
, showUnitType(idms_unittype) AS idms_unittype, USER, user_email
, showDepartment(idms_department) AS idms_department, asset_tag, sn, brand, model, showBBUser(bb_user) AS bbUser
, dt_purchase, warranty, dt_warranty_exp, nm_computer, ip_address, remarks
 FROM tr_inventory WHERE (idms_location = inpt2);

ELSE IF(inpt2 = 0) THEN
SELECT idtr_inventory, showStatus(idms_status) AS idms_status, showLocation(idms_location) AS idms_location
, showUnitType(idms_unittype) AS idms_unittype, USER, user_email
, showDepartment(idms_department) AS idms_department, asset_tag, sn, brand, model, showBBUser(bb_user) AS bbUser
, dt_purchase, warranty, dt_warranty_exp, nm_computer, ip_address, remarks
FROM tr_inventory WHERE (idms_unittype = inpt)

ELSE 
SELECT idtr_inventory, showStatus(idms_status) AS idms_status, showLocation(idms_location) AS idms_location
, showUnitType(idms_unittype) AS idms_unittype, USER, user_email
, showDepartment(idms_department) AS idms_department, asset_tag, sn, brand, model, showBBUser(bb_user) AS bbUser
, dt_purchase, warranty, dt_warranty_exp, nm_computer, ip_address, remarks
FROM tr_inventory WHERE (idms_unittype = inpt) AND (idms_location = inpt2);

END IF;
END IF;
END IF;

END$$

DELIMITER ;
最后的if语句是否错误?如果是,我需要放置在哪里?谢谢

错误: 查询:创建定义器=
root
@
localhost
过程
sp\u事务
(在inpt tinyint(4)中,在inpt2 tinyint(4)中)如果((inpt=0)和。。。 错误代码:1064
您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解在“else”附近使用的正确语法。您错过了一个

...
FROM tr_inventory WHERE (idms_unittype = inpt);
                                              ^------here
ELSE 
...

你错过了一个

...
FROM tr_inventory WHERE (idms_unittype = inpt);
                                              ^------here
ELSE 
...

我们无法识别哪个ELSE是针对哪个IF的。请添加完整的错误消息我们无法识别哪个ELSE是针对哪个IF的。请添加完整的错误消息