linux – 呼び出し時のmysqlストアドプロシージャエラーレポート
滿天的星座
滿天的星座 2017-05-31 10:37:32
0
2
853

エラーが報告される理由を調べるのを手伝ってください。このタイプのストアド プロシージャを作成するのはこれが初めてです:
delimiter $$
create procedure mydb()
begin
declare dbname varchar (50);
declare stop int default 0;
declare curcursor for (select name from name); //名前テーブルにはデータベースの名前が格納されます
declare CONTINUE HANDLER FOR SQLSTATE '02000' SET stop = null;
open cur;
fetch cur into dbname; //データベースの名前をトラバースします
while (stop は null ではありません) do

リーリー

fetch cur を dbname に;
end while;
close cur;
end ;
区切り文字 $$

ストアド プロシージャ実行時のエラー: エラー 1146 (42S02): テーブル 'dbname.prounit' が存在しません

###なぜ??????###
滿天的星座
滿天的星座

全員に返信(2)
淡淡烟草味

プロンプトは明らかですが、テーブルは存在しません
declare dbname varchar(50);名前は上書きされますか?

いいねを押す +0
迷茫

文法の問題について話しましょう。

  1. while ( stop is not null) do中的stop应该游标dbnameそうです、カーソルを判断してください。そうでないとstopが参照されません

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート