it-source

결과가 없는데 SQL 저장 프로시저에서 오류가 발생하는 이유는 무엇입니까?

criticalcode 2023. 8. 29. 20:42
반응형

결과가 없는데 SQL 저장 프로시저에서 오류가 발생하는 이유는 무엇입니까?

특정 매개 변수(pFirstPosition)가 특정 값이면 다른 매개 변수를 필터로 선택하는 간단한 저장 프로시저를 만들려고 합니다.SELECT는 행이 적어도 있는 경우에만 작동합니다.문제는 행이 없을 때 null을 반환하는 대신 오류를 반환하는 것입니다.phpMyAdmin과 함께 MariaDB를 사용하고 있는데 오류가 발생했습니다.

정적 분석:

분석 중에 1개의 오류가 발견되었습니다.

식이 없습니다.(위치 25에서 "ON" 근처) SQL 쿼리:

Foreign_KEY_CHECKS 설정 = ON;

MySQL에서 다음과 같이 말했습니다.

#2014 - 명령이 동기화되지 않았습니다. 지금 이 명령을 실행할 수 없습니다.

저장 절차는 다음과 같습니다.

BEGIN
IF pFirstPosition = 'Top' THEN
   SELECT Leader,GameMode,Language.Name,MinRank,MaxRank from Lobby
   inner join Lobby_Position on Lobby.LobbyPositionId =
Lobby_Position.LobbyPositionId
   inner join Language on Lobby.LanguageId = Language.LanguageId
   WHERE Lobby.MinRank <= pUserRank
   AND Lobby.MaxRank >= pUserRank
   AND Language.Name = pLanguage
   AND GameMode = pGamemode;
End IF;
End

감사해요.

"언어"는 예약된 단어이므로 백택스로 인용하십시오.

   inner join `Language` on Lobby.LanguageId = Language.LanguageId

분명히 그것은 최근에 수정된 phpmyadmin 버그였습니다.

언급URL : https://stackoverflow.com/questions/52864545/why-does-my-sql-stored-procedure-give-an-error-when-no-result

반응형