Linux - Rapport d'erreur de procédure stockée MySQL lors de l'appel
滿天的星座
滿天的星座 2017-05-31 10:37:32
0
2
730

Veuillez m'aider à découvrir pourquoi l'erreur est signalée. C'est la première fois que j'écris ce type de procédure stockée :
delimiter $$
create procedure mydb()
begin
declare dbname varchar(50);
declare stop int default 0. ;
déclarer le curseur pour (sélectionner le nom à partir du nom); //La table de noms stocke le nom de la base de données
déclarer CONTINUE HANDLER FOR SQLSTATE '02000' SET stop = null;
ouvrir le cur;
récupérer le cur dans le nom de base de données; Parcourez le nom de la base de données
while (stop n'est pas nul) do

begin
declare name varchar(200);
declare stop1 int default 0;
declare cur1  cursor for (select prounit_name from dbname.prounit);  //获取prounit表中prounit_name字段内容
declare CONTINUE HANDLER FOR SQLSTATE '02000' SET stop1 = null;
open cur1;
fetch cur1 into name;
while ( stop1 is not null) do
    update prounit set name='abc';
    fetch cur1 into name;
end while;
close cur1;
end ;

récupérer cur dans dbname;
end while;
close cur;
end ;
delimiter $$

Erreur lors de l'exécution de la procédure stockée : ERREUR 1146 (42S02) : La table 'dbname.prounit' n'existe pas

pourquoi ?????

滿天的星座
滿天的星座

répondre à tous(2)
淡淡烟草味

L'invite est évidente, la table n'existe pas
declare dbname varchar(50);Le nom est écrasé ?

迷茫

Parlons de quelques problèmes de grammaire

.
  1. while (stop is not null) do Le stop doit être le curseur dbname et juger le curseur. Sinon il n'y a aucune référence pour arrêterwhile ( stop is not null) do中的stop应该游标dbname才对,对游标进行判断.不然对stop没有引用过

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

Le dernier end;, avant de définir le delimiter $$` avec `$$ comme caractère de fin, il doit être remplacé par fin $$, enfin n'oubliez pas de changer la fin en delimiter ;#🎜🎜##🎜🎜# #🎜🎜#
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!