DELIMITER $$
CREATE PROCEDURE `StudentSys`.`returnStudentInfo(
   OUT @sName INT,
   OUT  @sSex INT,
   OUT @sAge INT,
   OUT @sClass IVARCHAR(50),
   OUT @sCHome INT,
        @sId INT  
    )    BEGIN  
  
  -- 其他sql语句    END$$DELIMITER ;-------------------
提示如下错误:
Error Code : 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@sName int ,
   OUT  @sSex int ,
   OUT @sAge int ,
   OUT @sC' at line 2

解决方案 »

  1.   

    DELIMITER $$
    CREATE PROCEDURE `returnStudentInfo`(OUT sName INT,OUT sSex INT,OUT sAge INT,OUT sClass VARCHAR(50),OUT sCHome INT,sId INT)
       BEGIN   
      
          END$$DELIMITER ;
      

  2.   

    1楼的,你的方法是去掉一个`StudentSys`.,并把参数写到一行上。这样运行后,还是出现原来的错误提示呀!
      

  3.   

    仔细看看我的代码,去掉了@`StudentSys`.`returnStudentInfo 少了1个`
      

  4.   

    哦,难道mysql存储过程的参数不能用@?!SQL SERVER 可以呀