问题撤回!当我正确拼写所有内容时,问题就消失了!
我有一个创建临时表的 MySQL 存储过程。当我从 mysql 提示符调用该过程时,它似乎运行成功,但是如果我从临时表中选择 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