문제:
저장 프로시저가 있습니다. 이는 어떤 값도 반환할 필요가 없습니다. 성공적으로 실행되었지만 완료 후 오류 메시지가 출력됩니다.
Error: No data - zero rows fetched, selected, or processed
해결책:
저장 프로시저가 사례를 명시적으로 처리하지 않기 때문에 오류 메시지가 나타납니다. 어떤 작업에서도 데이터가 반환되지 않습니다. 이 문제를 해결하려면 DECLARE CONTINUE HANDLER 문을 포함하여 NOT FOUND 오류를 무시할 수 있습니다.
<code class="sql">DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;</code>
설명:
DECLARE CONTINUE HANDLER 문은 MySQL에게 다음을 지시합니다. NOT FOUND 오류를 무시하고 저장 프로시저를 계속 실행합니다. 특정 경우에 customer_tbl 테이블의 행을 반복하는 루프 뒤에 이 문을 추가해야 합니다.
<code class="sql">my_cur_loop: LOOP FETCH my_cur INTO l_name; IF done = 1 THEN LEAVE my_cur_loop; END IF; INSERT INTO names_tbl VALUES(l_name); END LOOP my_cur_loop; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;</code>
추가 참고:
MySQL 버전의 경우 5.5.13 이상에서는 저장 프로시저 끝에 "더미" 문을 추가하여 경고를 지울 수도 있습니다.
<code class="sql">SELECT name INTO l_name FROM customer_tbl LIMIT 1;</code>
이 문은 성공적이며 어떤 데이터도 포함하지 않으므로 효과적으로 경고 메시지.
위 내용은 **결과가 예상되지 않는 경우 저장 프로시저의 \'오류 1329: 데이터 없음\'을 해결하는 방법은 무엇입니까?**의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!