一時テーブルを作成し、一時テーブルから行をフェッチしてクエリを実行するプロシージャを作成しました.一時テーブルには約13486行あります.しかし、プロシージャを呼び出すと、フェッチ後にプロシージャが終了することがわかりました一時テーブルから 107 行。さらに、この値が一定ではないことも確認しました。107 の場合もあれば、114 の場合もあれば、100 の場合もあります。なぜこれが起こるのですか?助けが必要ですか?誰かお願いします..これが私の手順です。そして、whileループが1000回以上の反復で終了することを知りました。これを克服する方法を提案してください。
DELIMITER $$
DROP PROCEDURE IF EXISTS `lookup`.`test` $$
CREATE PROCEDURE `lookup`.`test` ()
BEGIN
CREATE TEMPORARY TABLE lookup.airportname(id int AUTO_INCREMENT,PRIMARY KEY(id))
AS (select distinct airport_id from lookup.airport);
SET @num=0;
SET @arpt=NULL;
SELECT count(*) INTO @num FROM airportname;
SET @i=0;
while @i<@num do
SELECT airport_id INTO @arpt FROM airportname WHERE id=@i;
select @arpt,@i;
set @i=@i+1;
end while;
END $$
DELIMITER ;
mysql クエリ ブラウザを使用しています。ありがとうございます。