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

이러한 유형의 저장 프로시저를 작성하는 것은 이번이 처음입니다.
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 ;

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿