linux - 호출 시 mysql 저장 프로시저 오류 보고
滿天的星座
滿天的星座 2017-05-31 10:37:32
0
2
725

이러한 유형의 저장 프로시저를 작성하는 것은 이번이 처음입니다.
delimiter $$
create Procedure mydb()
begin
declare dbname varchar(50);
declare stop int default 0 ;
cur 커서 for(이름에서 이름 선택); //이름 테이블은 데이터베이스 이름을 저장합니다. CONTINUE HANDLER FOR SQLSTATE '02000' SET stop = null;
open cur;
cur를 dbname으로 가져옵니다. (stop은 null이 아님) do
동안 데이터베이스 이름을 탐색
으아악

cur를 DB 이름으로 가져오기;

end while;
cur 닫기;
end ;
구분자 $$

저장 프로시저 실행 중 오류: ERROR 1146(42S02): 'dbname.prounit' 테이블이 존재하지 않습니다

왜????

滿天的星座
滿天的星座

모든 응답 (2)
淡淡烟草味

프롬프트가 뻔한데 테이블이 존재하지 않습니다
declare dbname varchar(50);이름을 덮어썼나요?

    迷茫

    몇 가지 문법 문제에 대해 이야기해 봅시다.

    1. while ( stop is not null) do中的stop应该游标dbname그렇습니다. 커서를 판단하세요. 그렇지 않으면 중지가 참조되지 않습니다.

    2. 마지막end;,前面你定义了delimiter $$`以`$$为结束符,应该改为end$$,最后不要忘了结尾改成delimiter ;

      최신 다운로드
      더>
      웹 효과
      웹사이트 소스 코드
      웹사이트 자료
      프론트엔드 템플릿
      회사 소개 부인 성명 Sitemap
      PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!