Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL 오류를 해결하는 방법 "SQL 구문에 오류가 있습니다. MySQL 서버 버전에 해당하는 설명서를 확인하여 근처에서 사용할 올바른 구문을 확인하시겠습니까?”

<시간/>

MySQL 저장 프로시저에서 이러한 유형의 오류를 방지하려면 구분 기호를 변경해야 합니다. //.

저장 프로시저, 트리거 또는 함수를 사용하는 경우 구분 기호를 변경해야 한다고 가정합니다. 구문은 다음과 같습니다.

DELIMITER //
   CREATE PROCEDURE yourProcedureName()
   BEGIN
      Statement1,
      .
      .
   N
END;
//
DELIMITER ;

위의 구문을 이해하기 위해 저장 프로시저를 만들어 보겠습니다. 저장 프로시저를 생성하는 쿼리는 다음과 같습니다. -

mysql> DELIMITER //
mysql> CREATE PROCEDURE sp_getAllRecords()
-> BEGIN
-> SELECT *FROM employeetable;
-> END;
-> //
Query OK, 0 rows affected (0.23 sec)
mysql> DELIMITER ;

CALL 명령을 사용하여 저장 프로시저를 호출합니다. 구문은 다음과 같습니다.

CALL yourStoredProcedureName();

이제 Employee 테이블의 모든 레코드를 반환하는 위의 프로시저를 호출합니다. 쿼리는 다음과 같습니다.

mysql> CALL sp_getAllRecords();

다음은 출력입니다.

+------------+--------------+----------------+
| EmployeeId | EmployeeName | EmployeeSalary |
+------------+--------------+----------------+
| 2 | Bob | 1000 |
| 3 | Carol | 2500 |
+------------+--------------+----------------+
2 rows in set (0.00 sec)
Query OK, 0 rows affected (0.02 sec)