質問は取り下げました!すべてを正しくつづれば、問題は解決します。
一時テーブルを作成する MySQL ストアド プロシージャがあります。mysql プロンプトからプロシージャを呼び出すと、正常に実行されたように見えますが、一時テーブルから SELECT COUNT(*) を実行すると、テーブルが存在しないというエラーが表示されます。
ストアド プロシージャ内で作成された一時テーブルは、ストアド プロシージャが終了すると存在しなくなりますか?
mysql> delimiter //
mysql> drop procedure if exists sp_temp_reciepts//
mysql> create procedure sp_temp_receipts ()
begin
drop temporary table if exists receipts;
create temporary table receipts
( ... snip ...
);
insert into receipts
select ... snip ...
end//
mysql> delimiter ;
mysql> call sp_temp_reciepts();
Query OK, 46903 rows affected, 1 warning (2.15 sec)
mysql> select count(*) from receipts;
ERROR 1146 (42S02): Table 'receipts' doesn't exist