2014-06-13 4 views
1

저는 mysql에 초보자입니다. 저는 항상 구문 오류가 발생하는 저장 프로 시저를 작성했습니다. SQL Workbench 6.0을 사용하고 있습니다. 나는 잘못하고있다.MySQL Workbench 6.0에서 구문 오류가 발생했습니다. 저장 프로 시저

CREATE DEFINER=`root`@`localhost` PROCEDURE `loginAuthentication`(IN user_name VARCHAR(45),IN pass VARCHAR(45),OUT returnvalue INT) 

    BEGIN 
      DECLARE no_of_records INT; (Syntax Error on this Line) 

      SELECT COUNT(*) INTO no_of_records 
      FROM tablename.registration 
      WHERE tablename.registration.user_name=user_name AND tablename.registration.pass=pass; 

      IF no_of_records = 1 THEN (Syntax Error on this Line) 
      SET returnvalue = 1; 
      END IF; (Syntax Error on this Line) 
    END; (Syntax Error on this Line) 

답변

2

구분 기호를 변경해야합니다.

DELIMITER $$ 
CREATE DEFINER=`root`@`localhost` PROCEDURE `loginAuthentication`(IN user_name VARCHAR(45),IN pass VARCHAR(45),OUT returnvalue INT) 

BEGIN 
     DECLARE no_of_records INT; 

     SELECT COUNT(*) INTO no_of_records 
     FROM tablename.registration 
     WHERE tablename.registration.user_name=user_name AND tablename.registration.pass=pass; 

     IF no_of_records = 1 THEN 
     SET returnvalue = 1; 
     END IF; 
END $$ 
DELIMITER ; 

을 그리고 BTW, 워크 벤치는 그것과는 상관이 없다 : 그렇지 않으면 MySQL은 프로 시저가이 같은 첫 ;

쓰기 그 후에 종료 생각한다. MySQL에 대한 클라이언트 일뿐입니다.

+0

감사합니다 ... –

관련 문제